* init.cc (dll_entry): Call _my_tls.remove with INFINITE wait period

to avoid SEGVs and subsequent hangs in _cygtls::find_tls.
	* miscfuncs.cc (thread_wrapper): Ditto.
This commit is contained in:
Corinna Vinschen 2014-11-20 16:23:14 +00:00
parent 556b13a0c2
commit f2a0724fca
3 changed files with 8 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2014-11-20 Corinna Vinschen <corinna@vinschen.de>
* init.cc (dll_entry): Call _my_tls.remove with INFINITE wait period
to avoid SEGVs and subsequent hangs in _cygtls::find_tls.
* miscfuncs.cc (thread_wrapper): Ditto.
2014-11-20 Iuliu Rus <rus.iuliu@gmail.com>
* net.cc (fdsock): Change default values for socket buffers on 32 bit

View File

@ -95,7 +95,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
if (dll_finished_loading
&& (PVOID) &_my_tls > (PVOID) &test_stack_marker
&& _my_tls.isinitialized ())
_my_tls.remove (0);
_my_tls.remove (INFINITE);
break;
}

View File

@ -564,7 +564,7 @@ thread_wrapper (PVOID arg)
cfree (arg);
/* Remove _cygtls from this stack since it won't be used anymore. */
_my_tls.remove (0);
_my_tls.remove (INFINITE);
/* Set stack values in TEB */
PTEB teb = NtCurrentTeb ();