diff options
author | davidxu <davidxu@FreeBSD.org> | 2003-06-18 06:08:03 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2003-06-18 06:08:03 +0000 |
commit | 51cf58c433837787b4cde71db1a2aa17c7cc18e0 (patch) | |
tree | a7f6f0ecb204e089bfcb015e15eb292efcd27dcc /lib/libpthread | |
parent | 39e51d22ffc59d057a9658e191db084b4e10bae1 (diff) | |
download | FreeBSD-src-51cf58c433837787b4cde71db1a2aa17c7cc18e0.zip FreeBSD-src-51cf58c433837787b4cde71db1a2aa17c7cc18e0.tar.gz |
Don't lock scheduler lock twice.
Diffstat (limited to 'lib/libpthread')
-rw-r--r-- | lib/libpthread/thread/thr_sigsuspend.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/libpthread/thread/thr_sigsuspend.c b/lib/libpthread/thread/thr_sigsuspend.c index 5916156..2da790d 100644 --- a/lib/libpthread/thread/thr_sigsuspend.c +++ b/lib/libpthread/thread/thr_sigsuspend.c @@ -47,13 +47,12 @@ _sigsuspend(const sigset_t *set) /* Check if a new signal set was provided by the caller: */ if (set != NULL) { - THR_SCHED_LOCK(curthread, curthread); + THR_LOCK_SWITCH(curthread); /* Change the caller's mask: */ memcpy(&curthread->tmbx.tm_context.uc_sigmask, set, sizeof(sigset_t)); - THR_LOCK_SWITCH(curthread); THR_SET_STATE(curthread, PS_SIGSUSPEND); /* Wait for a signal: */ |