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 {