summaryrefslogtreecommitdiff
path: root/Modules
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2013-07-02 00:14:56 +0200
committerVictor Stinner <victor.stinner@gmail.com>2013-07-02 00:14:56 +0200
commit8d3795474eb70d246ccd9dae23a784436238ed79 (patch)
tree81bf3822873c54d491ecd2b760a2d3e76bdded72 /Modules
parentb9dbc7d6e1ad5700ed0084f63215db97a2c9bcbb (diff)
downloadcpython-git-8d3795474eb70d246ccd9dae23a784436238ed79.tar.gz
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.
Diffstat (limited to 'Modules')
-rw-r--r--Modules/faulthandler.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index 7e363f03c9..c86a27f26e 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -742,6 +742,8 @@ faulthandler_register_py(PyObject *self,
PyErr_SetFromErrno(PyExc_OSError);
return NULL;
}
+
+ user->previous = previous;
}
Py_XDECREF(user->file);
@@ -750,7 +752,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;