From 3153a0ecae6ec8a71e7c0475feaf03c668421784 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sat, 22 Apr 2006 23:13:18 +0000 Subject: [PATCH] * signal.cc (abort): On second thought, just set incyg once. --- winsup/cygwin/ChangeLog | 8 ++++++-- winsup/cygwin/signal.cc | 3 +-- 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 - * 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 + + * 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. */ }