commit | 68245b7a1030287294c65c298975ab9026543fd2 | [log] [tgz] |
---|---|---|
author | Antoine Pitrou <antoine@python.org> | Fri Mar 05 10:32:50 2021 +0100 |
committer | GitHub <noreply@github.com> | Fri Mar 05 10:32:50 2021 +0100 |
tree | 629f43bc1fe007f83456358633362358b51535e9 | |
parent | 02ac6f41e5569ec28d625bb005155903f64cc9ee [diff] |
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.