diff options
| -rw-r--r-- | Misc/NEWS | 4 | ||||
| -rw-r--r-- | Modules/faulthandler.c | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -138,6 +138,10 @@ Core and Builtins Library ------- +- Issue #18343: faulthandler.register() now keeps the previous signal handler + when the function is called twice, so faulthandler.unregister() restores + correctly the original signal handler. + - Issue #17097: Make multiprocessing ignore EINTR. - Issue #18339: Negative ints keys in unpickler.memo dict no longer cause a diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index f49993d0f3..686a45a145 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -741,6 +741,8 @@ faulthandler_register_py(PyObject *self, PyErr_SetFromErrno(PyExc_OSError); return NULL; } + + user->previous = previous; } Py_XDECREF(user->file); @@ -749,7 +751,6 @@ faulthandler_register_py(PyObject *self, user->fd = fd; user->all_threads = all_threads; user->chain = chain; - user->previous = previous; user->interp = tstate->interp; user->enabled = 1; |
