summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Modules/faulthandler.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index b300ef1..abc12a0 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -399,6 +399,17 @@ faulthandler_thread(void *unused)
const char* errmsg;
PyThreadState *current;
int ok;
+#ifdef HAVE_PTHREAD_H
+ sigset_t set;
+
+ /* we don't want to receive any signal */
+ sigfillset(&set);
+#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
+ pthread_sigmask(SIG_SETMASK, &set, NULL);
+#else
+ sigprocmask(SIG_SETMASK, &set, NULL);
+#endif
+#endif
do {
st = PyThread_acquire_lock_timed(thread.cancel_event,