diff options
Diffstat (limited to 'lib/libthr/thread/thr_kern.c')
-rw-r--r-- | lib/libthr/thread/thr_kern.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/libthr/thread/thr_kern.c b/lib/libthr/thread/thr_kern.c index 1c9a8ce..f45cae5 100644 --- a/lib/libthr/thread/thr_kern.c +++ b/lib/libthr/thread/thr_kern.c @@ -179,16 +179,9 @@ _thread_suspend(pthread_t pthread, struct timespec *abstime) struct timespec remaining; struct timespec *ts; siginfo_t info; - sigset_t set; int error; /* - * Catch SIGTHR. - */ - SIGFILLSET(set); - SIGDELSET(set, SIGTHR); - - /* * Compute the remainder of the run time. */ if (abstime) { @@ -204,9 +197,7 @@ _thread_suspend(pthread_t pthread, struct timespec *abstime) } else ts = NULL; - error = sigtimedwait(&set, &info, ts); - if (error == -1) - error = errno; - + error = sigtimedwait(&_thread_suspend_sigset, &info, ts); + error = (error == -1) ? errno : 0; return (error); } |