Use pthread_sigmask() instead of sigprocmask() when pthreads

are enabled.
This commit is contained in:
Lasse Collin 2009-01-07 18:41:15 +02:00
parent 4fd43cb3a9
commit 8286a60b8f
3 changed files with 9 additions and 2 deletions

View File

@ -20,6 +20,9 @@
pthread_once(&once_, &func); \
} while (0)
# define mythread_sigmask(how, set, oset) \
pthread_sigmask(how, set, oset)
#else
# define mythread_once(func) \
@ -31,4 +34,7 @@
} \
} while (0)
# define mythread_sigmask(how, set, oset) \
sigprocmask(how, set, oset)
#endif

View File

@ -109,7 +109,7 @@ signals_block(void)
{
if (signals_block_count++ == 0) {
const int saved_errno = errno;
sigprocmask(SIG_BLOCK, &hooked_signals, NULL);
mythread_sigmask(SIG_BLOCK, &hooked_signals, NULL);
errno = saved_errno;
}
@ -124,7 +124,7 @@ signals_unblock(void)
if (--signals_block_count == 0) {
const int saved_errno = errno;
sigprocmask(SIG_UNBLOCK, &hooked_signals, NULL);
mythread_sigmask(SIG_UNBLOCK, &hooked_signals, NULL);
errno = saved_errno;
}

View File

@ -21,6 +21,7 @@
#define PRIVATE_H
#include "sysdefs.h"
#include "mythread.h"
#include <sys/types.h>
#include <sys/stat.h>