PyErr_NormalizeException doesn't like being called with an exception set

(issues #21677, #21310).
This commit is contained in:
Serhiy Storchaka 2014-06-11 07:18:53 +03:00
parent 5989511183
commit 76d3f14e01
3 changed files with 12 additions and 12 deletions

View file

@ -2613,14 +2613,14 @@ textiowrapper_close(textio *self, PyObject *args)
PyErr_Restore(exc, val, tb);
}
else {
PyObject *val2;
PyObject *exc2, *val2, *tb2;
PyErr_Fetch(&exc2, &val2, &tb2);
PyErr_NormalizeException(&exc, &val, &tb);
Py_DECREF(exc);
Py_XDECREF(tb);
PyErr_Fetch(&exc, &val2, &tb);
PyErr_NormalizeException(&exc, &val2, &tb);
PyErr_NormalizeException(&exc2, &val2, &tb2);
PyException_SetContext(val2, val);
PyErr_Restore(exc, val2, tb);
PyErr_Restore(exc2, val2, tb2);
}
}
return res;