diff options
author | deischen <deischen@FreeBSD.org> | 2002-03-06 19:28:41 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2002-03-06 19:28:41 +0000 |
commit | 760bec0aa09d3c5d6260ec595a1158a587aebc3a (patch) | |
tree | f340718e38ac9a4f173cf51ddb7eedc39288a0fd /lib/libkse/thread/thr_cancel.c | |
parent | 7a594117fc66a44ba461a0e00ae4a76964fc9ac4 (diff) | |
download | FreeBSD-src-760bec0aa09d3c5d6260ec595a1158a587aebc3a.zip FreeBSD-src-760bec0aa09d3c5d6260ec595a1158a587aebc3a.tar.gz |
Properly clear the status of a join operation if the joining thread is
canceled or the joinee is detached.
Diffstat (limited to 'lib/libkse/thread/thr_cancel.c')
-rw-r--r-- | lib/libkse/thread/thr_cancel.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/libkse/thread/thr_cancel.c b/lib/libkse/thread/thr_cancel.c index 4c6ca98..cf72d89 100644 --- a/lib/libkse/thread/thr_cancel.c +++ b/lib/libkse/thread/thr_cancel.c @@ -70,6 +70,7 @@ _pthread_cancel(pthread_t pthread) if (pthread->join_status.thread != NULL) { pthread->join_status.thread->joiner = NULL; + pthread->join_status.thread = NULL; } pthread->cancelflags |= PTHREAD_CANCELLING; PTHREAD_NEW_STATE(pthread, PS_RUNNING); |