gh-96652: Fix faulthandler chained signal without sigaction() (GH-96666)

Fix the faulthandler implementation of faulthandler.register(signal,
chain=True) if the sigaction() function is not available: don't call
the previous signal handler if it's NULL.
(cherry picked from commit c580a81af9)

Co-authored-by: Victor Stinner <vstinner@python.org>
This commit is contained in:
Miss Islington (bot) 2022-09-08 03:47:07 -07:00 committed by GitHub
parent a3d5ecba1c
commit 3d6e6beb0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View File

@ -0,0 +1,3 @@
Fix the faulthandler implementation of ``faulthandler.register(signal,
chain=True)`` if the ``sigaction()`` function is not available: don't call
the previous signal handler if it's NULL. Patch by Victor Stinner.

View File

@ -862,7 +862,7 @@ faulthandler_user(int signum)
errno = save_errno;
}
#else
if (user->chain) {
if (user->chain && user->previous != NULL) {
errno = save_errno;
/* call the previous signal handler */
user->previous(signum);