Commit d8931c37 authored by Antoine Pitrou's avatar Antoine Pitrou

Issue #14173: Avoid crashing when reading a signal handler during interpreter shutdown.

parent a09657e9
...@@ -34,6 +34,9 @@ Core and Builtins ...@@ -34,6 +34,9 @@ Core and Builtins
Library Library
------- -------
- Issue #14173: Avoid crashing when reading a signal handler during
interpreter shutdown.
- Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions. - Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
- Issue #17192: Restore the patch for Issue #10309 which was ommitted - Issue #17192: Restore the patch for Issue #10309 which was ommitted
......
...@@ -321,7 +321,10 @@ signal_signal(PyObject *self, PyObject *args) ...@@ -321,7 +321,10 @@ signal_signal(PyObject *self, PyObject *args)
Handlers[sig_num].tripped = 0; Handlers[sig_num].tripped = 0;
Py_INCREF(obj); Py_INCREF(obj);
Handlers[sig_num].func = obj; Handlers[sig_num].func = obj;
return old_handler; if (old_handler != NULL)
return old_handler;
else
Py_RETURN_NONE;
} }
PyDoc_STRVAR(signal_doc, PyDoc_STRVAR(signal_doc,
...@@ -349,8 +352,13 @@ signal_getsignal(PyObject *self, PyObject *args) ...@@ -349,8 +352,13 @@ signal_getsignal(PyObject *self, PyObject *args)
return NULL; return NULL;
} }
old_handler = Handlers[sig_num].func; old_handler = Handlers[sig_num].func;
Py_INCREF(old_handler); if (old_handler != NULL) {
return old_handler; Py_INCREF(old_handler);
return old_handler;
}
else {
Py_RETURN_NONE;
}
} }
PyDoc_STRVAR(getsignal_doc, PyDoc_STRVAR(getsignal_doc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment