gh-90623: signal.raise_signal() calls PyErr_CheckSignals() (#91756)

signal.raise_signal() and os.kill() now call PyErr_CheckSignals() to
check immediately for pending signals.
This commit is contained in:
Victor Stinner 2022-04-21 03:14:57 +02:00 committed by GitHub
parent c77953b23e
commit 031f1e6040
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 1 deletions

View file

@ -481,6 +481,13 @@ signal_raise_signal_impl(PyObject *module, int signalnum)
if (err) {
return PyErr_SetFromErrno(PyExc_OSError);
}
// If the current thread can handle signals, handle immediately
// the raised signal.
if (PyErr_CheckSignals()) {
return NULL;
}
Py_RETURN_NONE;
}