mirror of https://github.com/python/cpython
simplify code to pop exception in frame_setlineno (#111702)
This commit is contained in:
parent
5e5762a2b8
commit
c5063fd62a
|
@ -808,13 +808,10 @@ frame_setlineno(PyFrameObject *f, PyObject* p_new_lineno, void *Py_UNUSED(ignore
|
|||
while (start_stack > best_stack) {
|
||||
if (top_of_stack(start_stack) == Except) {
|
||||
/* Pop exception stack as well as the evaluation stack */
|
||||
PyThreadState *tstate = _PyThreadState_GET();
|
||||
_PyErr_StackItem *exc_info = tstate->exc_info;
|
||||
PyObject *value = exc_info->exc_value;
|
||||
PyObject *exc = _PyFrame_StackPop(f->f_frame);
|
||||
assert(PyExceptionInstance_Check(exc) || exc == Py_None);
|
||||
exc_info->exc_value = exc;
|
||||
Py_XDECREF(value);
|
||||
PyThreadState *tstate = _PyThreadState_GET();
|
||||
Py_XSETREF(tstate->exc_info->exc_value, exc);
|
||||
}
|
||||
else {
|
||||
PyObject *v = _PyFrame_StackPop(f->f_frame);
|
||||
|
|
Loading…
Reference in New Issue