diff options
author | rpj <rpj> | 1998-07-26 14:49:34 +0000 |
---|---|---|
committer | rpj <rpj> | 1998-07-26 14:49:34 +0000 |
commit | 537fe68bc5ca2dd75f4f54146a50a39c5b55b8e3 (patch) | |
tree | 25adc4da03898e307d43f8dcc3450b3b5260c867 /exit.c | |
parent | 779359d2cf050c2885a05b81774b87b82466a471 (diff) |
Mon Jul 27 00:20:37 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* private.c (_pthread_delete_thread_entry): Destroy the thread
entry attribute object before deleting the thread entry itself.
* attr.c (pthread_attr_init): Initialise cancel_pending = FALSE.
(pthread_attr_setdetachstate): Rename "detached" to "detachedstate".
(pthread_attr_getdetachstate): Ditto.
* exit.c (_pthread_exit): Fix incorrect check for detachedstate.
* implement.h (_pthread_call_t): Remove env member.
Diffstat (limited to 'exit.c')
-rw-r--r-- | exit.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -55,7 +55,8 @@ _pthread_exit(void * value, int return_code) be deleted by the last waiting pthread_join() after this thread has terminated. */ - if (us->detach == TRUE + if (pthread_attr_getdetachedstate(us, &detachstate) == 0 + && detachstate == PTHREAD_CREATE_DETACHED && us->join_count == 0) { _pthread_delete_thread_entry(us); |