mirror of
https://github.com/python/cpython.git
synced 2025-07-10 04:45:36 +00:00
Make sure that the message "Error in sys.exitfunc:" goes to sys.stderr
and not to C's stderr.
This commit is contained in:
parent
6deac7a105
commit
bf02fb28d9
1 changed files with 4 additions and 2 deletions
|
@ -1052,12 +1052,14 @@ call_sys_exitfunc()
|
|||
PyObject *exitfunc = PySys_GetObject("exitfunc");
|
||||
|
||||
if (exitfunc) {
|
||||
PyObject *res;
|
||||
PyObject *res, *f;
|
||||
Py_INCREF(exitfunc);
|
||||
PySys_SetObject("exitfunc", (PyObject *)NULL);
|
||||
f = PySys_GetObject("stderr");
|
||||
res = PyEval_CallObject(exitfunc, (PyObject *)NULL);
|
||||
if (res == NULL) {
|
||||
fprintf(stderr, "Error in sys.exitfunc:\n");
|
||||
if (f)
|
||||
PyFile_WriteString("Error in sys.exitfunc:\n", f);
|
||||
PyErr_Print();
|
||||
}
|
||||
Py_DECREF(exitfunc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue