summaryrefslogtreecommitdiff
path: root/Python/pythonrun.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-04-03 21:12:12 +0000
committerGuido van Rossum <guido@python.org>1998-04-03 21:12:12 +0000
commit844b580c4d34a68e5398394c05b275b7ba4a7231 (patch)
treeeaf8b927359307de35401b93729f37f0a85431c5 /Python/pythonrun.c
parent99be3c056bf91dcc705c0dc69e79e9263771b7ed (diff)
downloadcpython-844b580c4d34a68e5398394c05b275b7ba4a7231.tar.gz
Make sure that the message "Error in sys.exitfunc:" goes to sys.stderr
and not to C's stderr.
Diffstat (limited to 'Python/pythonrun.c')
-rw-r--r--Python/pythonrun.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 83a0bc1472..87b691aed1 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -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);