faulthandler: don't use sigprocmask()
It has an undefined behaviour with threads, only use pthread_sigmask() if it is available (and not broken).
This commit is contained in:
parent
4571ee0b78
commit
cf2a807831
|
@ -418,16 +418,12 @@ faulthandler_thread(void *unused)
|
||||||
const char* errmsg;
|
const char* errmsg;
|
||||||
PyThreadState *current;
|
PyThreadState *current;
|
||||||
int ok;
|
int ok;
|
||||||
#ifdef HAVE_PTHREAD_H
|
#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
|
||||||
sigset_t set;
|
sigset_t set;
|
||||||
|
|
||||||
/* we don't want to receive any signal */
|
/* we don't want to receive any signal */
|
||||||
sigfillset(&set);
|
sigfillset(&set);
|
||||||
#if defined(HAVE_PTHREAD_SIGMASK) && !defined(HAVE_BROKEN_PTHREAD_SIGMASK)
|
|
||||||
pthread_sigmask(SIG_SETMASK, &set, NULL);
|
pthread_sigmask(SIG_SETMASK, &set, NULL);
|
||||||
#else
|
|
||||||
sigprocmask(SIG_SETMASK, &set, NULL);
|
|
||||||
#endif
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
do {
|
do {
|
||||||
|
|
Loading…
Reference in New Issue