summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/signal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r--winsup/cygwin/signal.cc3
1 files changed, 3 insertions, 0 deletions
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. */
}