summaryrefslogtreecommitdiffstats
path: root/lib/libpthread
diff options
context:
space:
mode:
authordavidxu <davidxu@FreeBSD.org>2003-06-18 06:08:03 +0000
committerdavidxu <davidxu@FreeBSD.org>2003-06-18 06:08:03 +0000
commit51cf58c433837787b4cde71db1a2aa17c7cc18e0 (patch)
treea7f6f0ecb204e089bfcb015e15eb292efcd27dcc /lib/libpthread
parent39e51d22ffc59d057a9658e191db084b4e10bae1 (diff)
downloadFreeBSD-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.c3
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: */
OpenPOWER on IntegriCloud