OSDN Git Service

* abort.cc (abort): Set incyg manually to help get a reliable gdb stack trace.
authorcgf <cgf>
Sat, 22 Apr 2006 23:09:44 +0000 (23:09 +0000)
committercgf <cgf>
Sat, 22 Apr 2006 23:09:44 +0000 (23:09 +0000)
* cygwin.din (abort): Make NOSIGFE.

winsup/cygwin/ChangeLog
winsup/cygwin/cygwin.din
winsup/cygwin/signal.cc

index 63c1642..fa573b2 100644 (file)
@@ -1,3 +1,9 @@
+2006-04-22  Christopher Faylor  <cgf@timesys.com>
+
+       * abort.cc (abort): Set incyg manually to help get a reliable gdb stack
+       trace.
+       * cygwin.din (abort): Make NOSIGFE.
+
 2006-04-21  Pierre Humblet Pierre.Humblet@ieee.org
            Christopher Faylor  <cgf@timesys.com>
 
index 9fc7116..bf71839 100644 (file)
@@ -109,7 +109,7 @@ vscanf_r = _vscanf_r SIGFE
 _vsscanf_r SIGFE
 vsscanf_r = _vsscanf_r SIGFE
 a64l NOSIGFE
-abort SIGFE
+abort NOSIGFE
 _abort = abort SIGFE
 abs NOSIGFE
 _abs = abs NOSIGFE
index bcaf6ed..75eea49 100644 (file)
@@ -25,6 +25,7 @@ details. */
 #include "fhandler.h"
 #include "dtable.h"
 #include "cygheap.h"
+#include "cygtls.h"
 
 int sigcatchers;       /* FIXME: Not thread safe. */
 
@@ -343,7 +344,9 @@ abort (void)
   sigdelset (&sig_mask, SIGABRT);
   set_signal_mask (sig_mask, myself->getsigmask ());
 
+  _my_tls.incyg++;
   raise (SIGABRT);
+  _my_tls.incyg--;
   _my_tls.call_signal_handler (); /* Call any signal handler */
   do_exit (SIGABRT);   /* signal handler didn't exit.  Goodbye. */
 }