diff options
Diffstat (limited to 'lib/libc_r/uthread/uthread_sigwait.c')
-rw-r--r-- | lib/libc_r/uthread/uthread_sigwait.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/libc_r/uthread/uthread_sigwait.c b/lib/libc_r/uthread/uthread_sigwait.c index 7257b7e..96a1e15 100644 --- a/lib/libc_r/uthread/uthread_sigwait.c +++ b/lib/libc_r/uthread/uthread_sigwait.c @@ -68,7 +68,9 @@ sigwait(const sigset_t * set, int *sig) sigdelset(&waitset, SIGINFO); /* Check to see if a pending signal is in the wait mask. */ - if (tempset = (_thread_run->sigpend & waitset)) { + tempset = _thread_run->sigpend; + SIGSETAND(tempset, waitset); + if (SIGNOTEMPTY(tempset)) { /* Enter a loop to find a pending signal: */ for (i = 1; i < NSIG; i++) { if (sigismember (&tempset, i)) |