bpo-43406: Fix possible race condition where ``PyErr_CheckSignals`` tries to execute a non-Python signal handler by pitrou · Pull Request #24756 · python/cpython
miss-islington pushed a commit to miss-islington/cpython that referenced this pull request
Mar 5, 2021…ries to execute a non-Python signal handler (pythonGH-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. (cherry picked from commit 68245b7) Co-authored-by: Antoine Pitrou <antoine@python.org>
pitrou added a commit to pitrou/cpython that referenced this pull request
Mar 5, 2021…ls`` tries to execute a non-Python signal handler (pythonGH-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.. (cherry picked from commit 68245b7) Co-authored-by: Antoine Pitrou <antoine@python.org>
pitrou
deleted the
bpo-43406-signal-race-condition
branch
miss-islington added a commit that referenced this pull request
Mar 6, 2021…ls`` tries to execute a non-Python signal handler (GH-24756) (GH-24761) 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. (cherry picked from commit 68245b7) Co-authored-by: Antoine Pitrou <antoine@python.org>
miss-islington pushed a commit that referenced this pull request
Mar 6, 2021…ls`` tries to execute a non-Python signal handler (GH-24756) (GH-24762) 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.. (cherry picked from commit 68245b7) Co-authored-by: Antoine Pitrou <antoine@python.org>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters