| Age | Commit message (Collapse) | Author | 
|---|
|  | * 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. | 
|  | * implement.h (_pthread_tsd_key_table): New.
        * create.c (_pthread_start_call): Initialise per-thread TSD keys
        to NULL.
        * misc.c (pthread_once): Correct typo in comment.
        * implement.h (_pthread_destructor_push): Remove.
        (_pthread_destructor_pop): Remove.
        (_pthread_destructor_run_all): Rename from _pthread_destructor_pop_all.
        (_PTHREAD_TSD_KEY_DELETED): Add enum.
        (_PTHREAD_TSD_KEY_INUSE): Add enum.
        * cleanup.c (_pthread_destructor_push): Remove.
        (_pthread_destructor_pop): Remove.
        (_pthread_destructor_run_all): Totally revamped TSD.
        * dll.c (_pthread_TSD_keys_TlsIndex): Initialise.
        * tsd.c (pthread_setspecific): Totally revamped TSD.
        (pthread_getspecific): Ditto.
        (pthread_create): Ditto.
        (pthread_delete): Ditto.
Sun Oct 11 22:44:55 1998  Ross Johnson  <rpj@ixobrychus.canberra.edu.au>
        * global.c (_pthread_tsd_key_table): Add new global.
        * implement.h (_pthread_tsd_key_t and struct _pthread_tsd_key):
        Add.
        (struct _pthread): Remove destructorstack.
        * cleanup.c (_pthread_destructor_run_all): Rename from
        _pthread_destructor_pop_all. The key destructor stack was made
        global rather than per-thread. No longer removes destructor nodes
        from the stack. Comments updated. | 
|  | POSIX TSD on top of Win32 TLS. | 
|  | * {most}.c: Include <errno.h> to get POSIX error values.
        * signal.c (pthread_sigmask): Only provide if HAVE_SIGSET_T is
        defined.
        * config.h: #undef features, don't #define them.  This will be
        generated by autoconf very soon. | 
|  | * implement.h (_pthread_destructor_pop): Add prototype.
	* tsd.c (implement.h): Add include. | 
|  | * cleanup.c (_pthread_destructor_pop): Implement. Removes
	destructors associated with a key without executing them.
	(_pthread_destructor_pop_all): Add FIXME comment.
	* tsd.c (pthread_key_delete): Add call to _pthread_destructor_pop(). | 
|  |  | 
|  | * tsd.c (pthread_key_create): Update to properly associate
	the destructor routine with the key.
	* exit.c (_pthread_vacuum): Add call to
	_pthread_destructor_pop_all(). | 
|  | * tsd.c (pthread_getspecific): Update comments. | 
|  | * tsd.c (pthread_key_create): Implement.
	(pthread_setspecific): Likewise.
	(pthread_getspecific): Likewise.
	(pthread_key_delete): Likewise. |