summaryrefslogtreecommitdiff
path: root/lib/libthr/thread/thr_join.c
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2003-04-01 22:41:41 +0000
committerJeff Roberson <jeff@FreeBSD.org>2003-04-01 22:41:41 +0000
commit00c301540edec7f15494edaa56e2477fa73c4072 (patch)
tree57e53bd64ff482e07d9e7557a1aa98cbe03389c6 /lib/libthr/thread/thr_join.c
parent901d86ae8a350e8a2625ddc90c1b8b84acaec8f2 (diff)
Notes
Diffstat (limited to 'lib/libthr/thread/thr_join.c')
-rw-r--r--lib/libthr/thread/thr_join.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libthr/thread/thr_join.c b/lib/libthr/thread/thr_join.c
index e22408ce2d86..ab46f0a3415f 100644
--- a/lib/libthr/thread/thr_join.c
+++ b/lib/libthr/thread/thr_join.c
@@ -124,7 +124,9 @@ _pthread_join(pthread_t pthread, void **thread_return)
while (curthread->join_status.thread == pthread) {
PTHREAD_SET_STATE(curthread, PS_JOIN);
/* Wait for our signal to wake up. */
+ GIANT_UNLOCK(curthread);
_thread_suspend(curthread, NULL);
+ GIANT_LOCK(curthread);
}
/*