Kaydet (Commit) c8c952ce authored tarafından Antoine Pitrou's avatar Antoine Pitrou

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

üst 957a23b0
...@@ -47,6 +47,9 @@ Core and Builtins ...@@ -47,6 +47,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 #15902: Fix imp.load_module() accepting None as a file when loading an - Issue #15902: Fix imp.load_module() accepting None as a file when loading an
......
...@@ -344,7 +344,10 @@ signal_signal(PyObject *self, PyObject *args) ...@@ -344,7 +344,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,
...@@ -372,8 +375,13 @@ signal_getsignal(PyObject *self, PyObject *args) ...@@ -372,8 +375,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