diff options
author | Christopher Faylor <me@cgf.cx> | 2006-04-22 23:13:18 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2006-04-22 23:13:18 +0000 |
commit | 3153a0ecae6ec8a71e7c0475feaf03c668421784 (patch) | |
tree | 8c5bbcac6dd395e54b102092271d1a03f2c426de /winsup/cygwin/signal.cc | |
parent | bdcec0d9792584a0ca985f9cf829be5779c6ca19 (diff) | |
download | cygnal-3153a0ecae6ec8a71e7c0475feaf03c668421784.tar.gz cygnal-3153a0ecae6ec8a71e7c0475feaf03c668421784.tar.bz2 cygnal-3153a0ecae6ec8a71e7c0475feaf03c668421784.zip |
* signal.cc (abort): On second thought, just set incyg once.
Diffstat (limited to 'winsup/cygwin/signal.cc')
-rw-r--r-- | winsup/cygwin/signal.cc | 3 |
1 files changed, 1 insertions, 2 deletions
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. */ } |