Arrange for PyErr_CheckSignals() to be called via Py_AddPendingCall().

This avoids having to call sigcheck() (the same routine by its old
name :-) in the ticker code in ceval.c's main interpreter loop.
This commit is contained in:
Guido van Rossum 1997-01-21 06:13:09 +00:00
parent ad74fa6674
commit fcdd0e40a4
1 changed files with 3 additions and 1 deletions

View File

@ -115,6 +115,7 @@ signal_handler(sig_num)
#endif
is_tripped++;
Handlers[sig_num].tripped = 1;
Py_AddPendingCall((int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
#ifdef WITH_THREAD
}
#endif
@ -523,7 +524,7 @@ PyErr_CheckSignals()
Py_DECREF(arglist);
}
if (!result)
return 1;
return -1;
Py_DECREF(result);
}
@ -541,6 +542,7 @@ PyErr_SetInterrupt()
{
is_tripped++;
Handlers[SIGINT].tripped = 1;
Py_AddPendingCall((int (*) Py_PROTO((ANY *)))PyErr_CheckSignals, NULL);
}
void