mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
sys.stderr and sys.excepthook can be None at interpreter shutdown,
in which case display the appropriate error message. (part of #5319)
This commit is contained in:
@@ -1149,7 +1149,7 @@ PyErr_PrintEx(int set_sys_last_vars)
|
||||
PySys_SetObject("last_traceback", tb);
|
||||
}
|
||||
hook = PySys_GetObject("excepthook");
|
||||
if (hook) {
|
||||
if (hook && hook != Py_None) {
|
||||
PyObject *args = PyTuple_Pack(3,
|
||||
exception, v, tb ? tb : Py_None);
|
||||
PyObject *result = PyEval_CallObject(hook, args);
|
||||
@@ -1199,7 +1199,7 @@ PyErr_Display(PyObject *exception, PyObject *value, PyObject *tb)
|
||||
int err = 0;
|
||||
PyObject *f = PySys_GetObject("stderr");
|
||||
Py_INCREF(value);
|
||||
if (f == NULL)
|
||||
if (f == NULL || f == Py_None)
|
||||
fprintf(stderr, "lost sys.stderr\n");
|
||||
else {
|
||||
if (Py_FlushLine())
|
||||
|
||||
Reference in New Issue
Block a user