* cygheap.cc (init_cygheap::find_tls): Add comment.

* cygtls.cc (well_known_dlls): Rephrase comment.
	(bloda_detect): New function.
	(_cygtls::call2): Call init_thread and bloda_detect for non-pthread
	threads only.
	(_cygtls::remove): Move remove_tls and remove_wq calls up to run first.
	* miscfuncs.cc (struct pthread_wrapper_arg): Rename from struct
	thread_wrapper_arg.
	(pthread_wrapper): Rename from thread_wrapper and drop "static".  Fix
	comment.  Drop call to _cygtls::remove.  Call api_fatal rather than
	ExitThread.  Explain why.
	* miscfuncs.h (pthread_wrapper): Declare pthread_wrapper.
	* thread.cc (pthread::exit): Add a FIXME comment.  Call _cygtls::remove
	before calling ExitThread.
This commit is contained in:
Corinna Vinschen
2014-11-28 12:10:12 +00:00
parent b3281dd194
commit 9d2eff6684
6 changed files with 88 additions and 57 deletions

View File

@@ -673,6 +673,7 @@ init_cygheap::find_tls (int sig, bool& issig_wait)
{
__try
{
/* Only pthreads have tid set to non-0. */
if (!threadlist[ix]->tid)
continue;
else if (sigismember (&(threadlist[ix]->sigwait_mask), sig))