Change the signal finialization so that it also resets the signal
handlers. After this has been called, our signal handlers are no longer active!
This commit is contained in:
parent
615022fbf8
commit
7ff20ac9c7
|
@ -513,13 +513,19 @@ static void
|
|||
finisignal()
|
||||
{
|
||||
int i;
|
||||
PyObject *func;
|
||||
|
||||
signal(SIGINT, old_siginthandler);
|
||||
old_siginthandler = SIG_DFL;
|
||||
|
||||
for (i = 1; i < NSIG; i++) {
|
||||
func = Handlers[i].func;
|
||||
Handlers[i].tripped = 0;
|
||||
Py_XDECREF(Handlers[i].func);
|
||||
Handlers[i].func = NULL;
|
||||
if (i != SIGINT && func != NULL && func != Py_None &&
|
||||
func != DefaultHandler && func != IgnoreHandler)
|
||||
signal(i, SIG_DFL);
|
||||
Py_XDECREF(func);
|
||||
}
|
||||
|
||||
Py_XDECREF(IntHandler);
|
||||
|
|
Loading…
Reference in New Issue