diff options
author | Chris Jerdonek <chris.jerdonek@gmail.com> | 2020-05-18 22:36:09 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-18 22:36:09 (GMT) |
commit | ff7a8b03c49153021d6de5d0b2fa8b5163059ed6 (patch) | |
tree | 81a5b4dd0ee2632d33c2e0a2b296737e7e21a1a5 /Objects | |
parent | a3ec3ad9e20e7d9ed148d4cfbd22aebec608b42a (diff) | |
download | cpython-ff7a8b03c49153021d6de5d0b2fa8b5163059ed6.zip cpython-ff7a8b03c49153021d6de5d0b2fa8b5163059ed6.tar.gz cpython-ff7a8b03c49153021d6de5d0b2fa8b5163059ed6.tar.bz2 |
Use _PyErr_ChainStackItem() inside gen_send_ex(). (GH-20173)
_PyErr_ChainStackItem was just added in GH-19951 (for bpo-31033).
Diffstat (limited to 'Objects')
-rw-r--r-- | Objects/genobject.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Objects/genobject.c b/Objects/genobject.c index 40179cd..271720b 100644 --- a/Objects/genobject.c +++ b/Objects/genobject.c @@ -203,16 +203,8 @@ gen_send_ex(PyGenObject *gen, PyObject *arg, int exc, int closing) assert(f->f_back == NULL); f->f_back = tstate->frame; - _PyErr_StackItem *gi_exc_state = &gen->gi_exc_state; - if (exc && gi_exc_state->exc_type != NULL && - gi_exc_state->exc_type != Py_None) - { - Py_INCREF(gi_exc_state->exc_type); - Py_XINCREF(gi_exc_state->exc_value); - Py_XINCREF(gi_exc_state->exc_traceback); - _PyErr_ChainExceptions(gi_exc_state->exc_type, - gi_exc_state->exc_value, - gi_exc_state->exc_traceback); + if (exc) { + _PyErr_ChainStackItem(&gen->gi_exc_state); } gen->gi_running = 1; |