diff options
author | Christopher Faylor <me@cgf.cx> | 2006-03-13 04:26:57 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-03-13 04:26:57 +0000 |
commit | 9badd94adb585e28a3ef7918a88c49b3a855edf8 (patch) | |
tree | 1ebd798bfa3070e3890d43c3b7ce11beaacff00a /winsup/cygwin/cygtls.cc | |
parent | 51f90b2f01642f40b491df371e016b79f02e3f1b (diff) | |
download | cygnal-9badd94adb585e28a3ef7918a88c49b3a855edf8.tar.gz cygnal-9badd94adb585e28a3ef7918a88c49b3a855edf8.tar.bz2 cygnal-9badd94adb585e28a3ef7918a88c49b3a855edf8.zip |
* cygtls.cc (_cygtls::remove): Reset initialized flag right away if we were
previously initialized.
* cygtls.h (_cygtls::initialized): Move nearer the end to catch situation when
Windows 98 mysteriously changes pieces of cygtls when thread is detaching.
* gendef (__sigfe_maybe): Simplify slightly.
* tlsoffsets.h: Regenerate.
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r-- | winsup/cygwin/cygtls.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index 387316c8d..70f5a56d8 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -147,7 +147,10 @@ _cygtls::fixup_after_fork () void _cygtls::remove (DWORD wait) { - if (!isinitialized () || !locals.exitsock || exit_state >= ES_FINAL) + if (!isinitialized ()) + return; + initialized = 0; + if (!locals.exitsock || exit_state >= ES_FINAL) return; debug_printf ("wait %p", wait); |