From 9badd94adb585e28a3ef7918a88c49b3a855edf8 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 13 Mar 2006 04:26:57 +0000 Subject: * 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. --- winsup/cygwin/cygtls.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/cygtls.cc') 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); -- cgit v1.2.3