Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2006-04-23 03:09:44 +0400
committerChristopher Faylor <me@cgf.cx>2006-04-23 03:09:44 +0400
commitbdcec0d9792584a0ca985f9cf829be5779c6ca19 (patch)
tree6439fdf2f5912b04def274c220cb8312a4f4dcef /winsup
parent3a83d3a84947cb4774b3590eb96f019811ec5f0d (diff)
* abort.cc (abort): Set incyg manually to help get a reliable gdb stack trace.
* cygwin.din (abort): Make NOSIGFE.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/cygwin.din2
-rw-r--r--winsup/cygwin/signal.cc3
3 files changed, 10 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 63c164228..fa573b2d8 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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>
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index 9fc71162a..bf71839ad 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -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
diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc
index bcaf6edb2..75eea49e9 100644
--- a/winsup/cygwin/signal.cc
+++ b/winsup/cygwin/signal.cc
@@ -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. */
}