diff options
author | rpj <rpj> | 1998-10-14 06:49:46 +0000 |
---|---|---|
committer | rpj <rpj> | 1998-10-14 06:49:46 +0000 |
commit | 8c4d7f6bc1d365906724c92e4143fa021bf8a757 (patch) | |
tree | dc7b4b1c3da43374d078f85277ecf61044b7a921 /exit.c | |
parent | 4ed54ca07b8115bd9e7813a1484d4c7936a25e70 (diff) |
Wed Oct 14 21:09:24 1998 Ross Johnson <rpj@ixobrychus.canberra.edu.au>
* private.c (_pthread_new_thread): Increment _pthread_threads_count.
(_pthread_delete_thread): Decrement _pthread_threads_count.
Remove some comments.
* exit.c (_pthread_exit): : Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.
(_pthread_vacuum): Remove call to _pthread_destructor_pop_all().
* create.c (pthread_create): Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.
* global.c (_pthread_tsd_mutex): Add mutex for TSD operations.
* tsd.c (pthread_key_create): Add critical section.
(pthread_setspecific): Ditto.
(pthread_getspecific): Ditto.
(pthread_key_delete): Ditto.
* sync.c (pthread_join): Fix two pthread_mutex_lock() calls that
should have been pthread_mutex_unlock() calls.
Diffstat (limited to 'exit.c')
-rw-r--r-- | exit.c | 7 |
1 files changed, 2 insertions, 5 deletions
@@ -18,9 +18,6 @@ _pthread_vacuum(void) _pthread_handler_pop_all(_PTHREAD_CLEANUP_STACK, _PTHREAD_HANDLER_EXECUTE); - /* Run all TSD key destructors. */ - _pthread_destructor_pop_all(); - /* Pop any atfork handlers without executing them. */ _pthread_handler_pop_all(_PTHREAD_FORKPREPARE_STACK, _PTHREAD_HANDLER_NOEXECUTE); @@ -44,7 +41,7 @@ _pthread_exit(pthread_t thread, void * value, int return_code) to any joining threads. */ thread->joinvalueptr = value; - pthread_mutex_lock(&_pthread_table_mutex); + pthread_mutex_unlock(&_pthread_table_mutex); /* END CRITICAL SECTION */ _pthread_vacuum(); @@ -64,7 +61,7 @@ _pthread_exit(pthread_t thread, void * value, int return_code) (void) _pthread_delete_thread(thread); } - pthread_mutex_lock(&_pthread_table_mutex); + pthread_mutex_unlock(&_pthread_table_mutex); /* END CRITICAL SECTION */ _endthreadex(return_code); |