| Age | Commit message (Collapse) | Author | 
|---|
|  | * sync.c (pthread_detach): Close the Win32 thread handle to
        emulate detached (or daemon) threads. | 
|  | pthread_exit() to use.
	* private.c (_pthread_new_thread_entry): Initialise joinvalueptr to
	NULL.
	* create.c (_pthread_start_call): Rewrite to facilitate joins.
	pthread_exit() will do a longjmp() back to here. Does appropriate
	cleanup and exit/return from the thread.
	(pthread_create): _beginthreadex() now passes a pointer to our
	thread table entry instead of just the call member of that entry.
	* implement.h (_pthread_threads_thread): New member
	void ** joinvalueptr.
	(_pthread_call_t): New member jmpbuf env.
	* exit.c (pthread_exit): Major rewrite to handle joins and handing
	value pointer to joining thread. Uses longjmp() back to
	_pthread_start_call(). | 
|  | * attr.c (pthread_attr_destroy):  Fix merge conflicts.
	(pthread_attr_getdetachstate):  Fix merge conflicts.
	(pthread_attr_setdetachstate):  Fix merge conflicts.
	* pthread.h:  Fix merge conflicts.
	* sync.c (pthread_join): Fix merge conflicts. | 
|  | * sync.c (pthread_join): Return if the target thread is detached. | 
|  | * sync.c (pthread_join): Implement. |