summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/signal.cc3
2 files changed, 7 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index fa573b2d8..3fd8a78ba 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,7 +1,11 @@
2006-04-22 Christopher Faylor <cgf@timesys.com>
- * abort.cc (abort): Set incyg manually to help get a reliable gdb stack
- trace.
+ * signal.cc (abort): On second thought, just set incyg once.
+
+2006-04-22 Christopher Faylor <cgf@timesys.com>
+
+ * signal.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
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index 75eea49e9..2510d22cb 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -327,6 +327,7 @@ killpg (pid_t pgrp, int sig)
extern "C" void
abort (void)
{
+ _my_tls.incyg++;
sig_dispatch_pending ();
/* Flush all streams as per SUSv2.
From my reading of this document, this isn't strictly correct.
@@ -344,9 +345,7 @@ 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. */
}