]> sourceware.org Git - newlib-cygwin.git/commitdiff
* exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
authorChristopher Faylor <me@cgf.cx>
Tue, 20 Feb 2007 14:31:26 +0000 (14:31 +0000)
committerChristopher Faylor <me@cgf.cx>
Tue, 20 Feb 2007 14:31:26 +0000 (14:31 +0000)
exit_state indicates that we've visited do_exit.
* sync.h (lock_process::lock_process): Use renamed exit_state -
ES_PROCESS_LOCKED.
* winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.

winsup/cygwin/ChangeLog
winsup/cygwin/exceptions.cc
winsup/cygwin/sync.h
winsup/cygwin/winsup.h

index b7a1a3a8ae70dc1d86a12b9c362b760c49b9f56e..da11de4e9a8edbeb443e1ba809a7b7f1d74a2c5d 100644 (file)
@@ -1,3 +1,11 @@
+2007-02-20  Christopher Faylor  <me@cgf.cx>
+
+       * exceptions.cc (_cygtls::signal_exit): Only call myself.exit when when
+       exit_state indicates that we've visited do_exit.
+       * sync.h (lock_process::lock_process): Use renamed exit_state -
+       ES_PROCESS_LOCKED.
+       * winsup.h: Rename ES_MUTO_SET to ES_PROCESS_LOCKED.
+
 2007-02-20  Corinna Vinschen  <corinna@vinschen.de>
 
        * fhandler_socket.cc (fhandler_socket::bind): Remove printing wrong
index 9ccb248c64c1c401c617117d5daef47be998a466..df5636970b48a8c1bd11022c55855a76eee6226c 100644 (file)
@@ -1,7 +1,7 @@
 /* exceptions.cc
 
    Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2005, 2006 Red Hat, Inc.
+   2005, 2006, 2007 Red Hat, Inc.
 
 This file is part of Cygwin.
 
@@ -1288,7 +1288,7 @@ _cygtls::signal_exit (int rc)
     stackdump (thread_context.ebp, 1, 1);
 
   lock_process until_exit (true);
-  if (hExeced || exit_state)
+  if (hExeced || exit_state > ES_PROCESS_LOCKED)
     myself.exit (rc);
 
   /* Starve other threads in a vain attempt to stop them from doing something
index f7ce7e1b4b3194bf55b9be3498d8c2d0eb90284f..dfe2c3921128999f2ac66840b2dcc87f5ee07097 100644 (file)
@@ -55,9 +55,9 @@ public:
   {
     locker.acquire ();
     skip_unlock = exiting;
-    if (exiting && exit_state < ES_SET_MUTO)
+    if (exiting && exit_state < ES_PROCESS_LOCKED)
       {
-       exit_state = ES_SET_MUTO;
+       exit_state = ES_PROCESS_LOCKED;
        muto::set_exiting_thread ();
       }
   }
index 83ca0feac742fb79984615ef1011163ae138b569..2a4ddf8ee4c5f3ddb64b9d749e43d59437cf952f 100644 (file)
@@ -185,7 +185,7 @@ extern "C" int dll_noncygwin_dllcrt0 (HMODULE, per_process *);
 enum exit_states
   {
     ES_NOT_EXITING = 0,
-    ES_SET_MUTO,
+    ES_PROCESS_LOCKED,
     ES_GLOBAL_DTORS,
     ES_EVENTS_TERMINATE,
     ES_THREADTERM,
This page took 0.036616 seconds and 5 git commands to generate.