diff options
author | deischen <deischen@FreeBSD.org> | 2003-05-06 00:02:54 +0000 |
---|---|---|
committer | deischen <deischen@FreeBSD.org> | 2003-05-06 00:02:54 +0000 |
commit | e98d7c2f51f348608c559878330584d5b46c0bf7 (patch) | |
tree | 2361c6b255d8623ee2107af625323cd2aca33aff /lib | |
parent | d56382b0ba645a40c1bdfda445b75ac5000ea01e (diff) | |
download | FreeBSD-src-e98d7c2f51f348608c559878330584d5b46c0bf7.zip FreeBSD-src-e98d7c2f51f348608c559878330584d5b46c0bf7.tar.gz |
Make pthread_join() async-cancel-safe. David was going to commit
this, but I think he's asleep and want to be sure it gets in before
the freeze.
Submitted by: davidxu
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libkse/thread/thr_cancel.c | 9 | ||||
-rw-r--r-- | lib/libpthread/thread/thr_cancel.c | 9 |
2 files changed, 0 insertions, 18 deletions
diff --git a/lib/libkse/thread/thr_cancel.c b/lib/libkse/thread/thr_cancel.c index fc05b55..2c3ae59 100644 --- a/lib/libkse/thread/thr_cancel.c +++ b/lib/libkse/thread/thr_cancel.c @@ -64,16 +64,7 @@ _pthread_cancel(pthread_t pthread) break; case PS_JOIN: - /* - * Disconnect the thread from the joinee: - */ - if (pthread->join_status.thread != NULL) { - pthread->join_status.thread->joiner - = NULL; - pthread->join_status.thread = NULL; - } pthread->cancelflags |= THR_CANCELLING; - _thr_setrunnable_unlocked(pthread); break; case PS_SUSPENDED: diff --git a/lib/libpthread/thread/thr_cancel.c b/lib/libpthread/thread/thr_cancel.c index fc05b55..2c3ae59 100644 --- a/lib/libpthread/thread/thr_cancel.c +++ b/lib/libpthread/thread/thr_cancel.c @@ -64,16 +64,7 @@ _pthread_cancel(pthread_t pthread) break; case PS_JOIN: - /* - * Disconnect the thread from the joinee: - */ - if (pthread->join_status.thread != NULL) { - pthread->join_status.thread->joiner - = NULL; - pthread->join_status.thread = NULL; - } pthread->cancelflags |= THR_CANCELLING; - _thr_setrunnable_unlocked(pthread); break; case PS_SUSPENDED: |