From cf2a807831ee93ef39e73fcc682894b0695b6143 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Tue, 19 Apr 2011 23:30:57 +0200 Subject: faulthandler: don't use sigprocmask() It has an undefined behaviour with threads, only use pthread_sigmask() if it is available (and not broken). --- Modules/faulthandler.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c index abedd5b..48c4391 100644 --- a/Modules/faulthandler.c +++ b/Modules/faulthandler.c @@ -418,16 +418,12 @@ faulthandler_thread(void *unused) const char* errmsg; PyThreadState *current; int ok; -#ifdef HAVE_PTHREAD_H +#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK) 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 { -- cgit v0.12