mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-45711: Remove type and traceback from exc_info (GH-30122)
* Do not PUSH/POP traceback or type to the stack as part of exc_info * Remove exc_traceback and exc_type from _PyErr_StackItem * Add to what's new, because this change breaks things like Cython
This commit is contained in:
parent
62a0a2a25d
commit
396b58345f
14 changed files with 228 additions and 389 deletions
|
@ -25,9 +25,7 @@ static const char *ASYNC_GEN_IGNORED_EXIT_MSG =
|
|||
static inline int
|
||||
exc_state_traverse(_PyErr_StackItem *exc_state, visitproc visit, void *arg)
|
||||
{
|
||||
Py_VISIT(exc_state->exc_type);
|
||||
Py_VISIT(exc_state->exc_value);
|
||||
Py_VISIT(exc_state->exc_traceback);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -886,9 +884,7 @@ make_gen(PyTypeObject *type, PyFunctionObject *func)
|
|||
gen->gi_code = (PyCodeObject *)func->func_code;
|
||||
Py_INCREF(gen->gi_code);
|
||||
gen->gi_weakreflist = NULL;
|
||||
gen->gi_exc_state.exc_type = NULL;
|
||||
gen->gi_exc_state.exc_value = NULL;
|
||||
gen->gi_exc_state.exc_traceback = NULL;
|
||||
gen->gi_exc_state.previous_item = NULL;
|
||||
if (func->func_name != NULL)
|
||||
gen->gi_name = func->func_name;
|
||||
|
@ -975,9 +971,7 @@ gen_new_with_qualname(PyTypeObject *type, PyFrameObject *f,
|
|||
Py_INCREF(gen->gi_code);
|
||||
Py_DECREF(f);
|
||||
gen->gi_weakreflist = NULL;
|
||||
gen->gi_exc_state.exc_type = NULL;
|
||||
gen->gi_exc_state.exc_value = NULL;
|
||||
gen->gi_exc_state.exc_traceback = NULL;
|
||||
gen->gi_exc_state.previous_item = NULL;
|
||||
if (name != NULL)
|
||||
gen->gi_name = name;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue