]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43406: Fix possible race condition where ``PyErr_CheckSignals`` tries to execute...
authorAntoine Pitrou <antoine@python.org>
Fri, 5 Mar 2021 09:32:50 +0000 (10:32 +0100)
committerGitHub <noreply@github.com>
Fri, 5 Mar 2021 09:32:50 +0000 (10:32 +0100)
commit68245b7a1030287294c65c298975ab9026543fd2
tree629f43bc1fe007f83456358633362358b51535e9
parent02ac6f41e5569ec28d625bb005155903f64cc9ee
bpo-43406: Fix possible race condition where ``PyErr_CheckSignals`` tries to execute a non-Python signal handler (GH-24756)

We can receive signals (at the C level, in `trip_signal()` in signalmodule.c) while `signal.signal` is being called to modify the corresponding handler.  Later when `PyErr_CheckSignals()` is called to handle the given signal, the handler may be a non-callable object and would raise a cryptic asynchronous exception.
Lib/test/test_signal.py
Misc/NEWS.d/next/Core and Builtins/2021-03-04-22-53-10.bpo-43406.Na_VpA.rst [new file with mode: 0644]
Modules/signalmodule.c