faulthandler: don't use sigprocmask()
It has an undefined behaviour with threads, only use pthread_sigmask() if
it is available (and not broken).
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 @@
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 {