* cygtls.cc (_cygtls::remove): Don't test for initialization since this

function will always be called when _my_tls is initialized.
* init.cc (dll_entry): Don't attempt to remove tls info if _my_tls is obviously
not even available.
This commit is contained in:
Christopher Faylor 2006-05-17 03:36:14 +00:00
parent 1e68a8ced0
commit 9fa8d227d4
3 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2006-05-16 Christopher Faylor <cgf@timesys.com>
* cygtls.cc (_cygtls::remove): Don't test for initialization since
this function will always be called when _my_tls is initialized.
* init.cc (dll_entry): Don't attempt to remove tls info if _my_tls is
obviously not even available.
2006-05-15 Christopher Faylor <cgf@timesys.com> 2006-05-15 Christopher Faylor <cgf@timesys.com>
* sigproc.cc (no_signals_available): Detect hwait_sig == * sigproc.cc (no_signals_available): Detect hwait_sig ==

View File

@ -147,8 +147,6 @@ _cygtls::fixup_after_fork ()
void void
_cygtls::remove (DWORD wait) _cygtls::remove (DWORD wait)
{ {
if (!isinitialized ())
return;
initialized = 0; initialized = 0;
if (!locals.exitsock || exit_state >= ES_FINAL) if (!locals.exitsock || exit_state >= ES_FINAL)
return; return;

View File

@ -156,7 +156,8 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
munge_threadfunc (); munge_threadfunc ();
break; break;
case DLL_THREAD_DETACH: case DLL_THREAD_DETACH:
if (hwait_sig) if (hwait_sig && (void *) &_my_tls > (void *) &wow64_test_stack_marker
&& _my_tls.isinitialized ())
_my_tls.remove (0); _my_tls.remove (0);
break; break;
} }