OSDN Git Service

* init.cc (remove): Don't bother calling through thread removal cleanup if we
authorcgf <cgf>
Sat, 26 Nov 2011 19:20:13 +0000 (19:20 +0000)
committercgf <cgf>
Sat, 26 Nov 2011 19:20:13 +0000 (19:20 +0000)
are exiting.

winsup/cygwin/ChangeLog
winsup/cygwin/init.cc

index 32482a3..cccc8b1 100644 (file)
@@ -1,5 +1,10 @@
 2011-11-26  Christopher Faylor  <me.cygwin2011@cgf.cx>
 
+       * init.cc (remove): Don't bother calling through thread removal
+       cleanup if we are exiting.
+
+2011-11-26  Christopher Faylor  <me.cygwin2011@cgf.cx>
+
        * exceptions.cc (stackdump): Make global.
        (signal_exit): Move to sigproc.cc.
        * sigproc.cc (signal_exit): Move here.  Declare stackdump extern.  Set
index 107d037..480a41e 100644 (file)
@@ -150,6 +150,7 @@ dll_entry (HANDLE h, DWORD reason, void *static_load)
       break;
     case DLL_THREAD_DETACH:
       if (dll_finished_loading
+         && exit_state < ES_FINAL
          && (PVOID) &_my_tls > (PVOID) &wow64_test_stack_marker
          && _my_tls.isinitialized ())
        _my_tls.remove (0);