summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 75ad01c67..c4b87f0ec 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -216,7 +216,7 @@ public:
/* This is the main stack frame info for this process. */
static NO_COPY stack_info thestack;
-signal_dispatch sigsave;
+static signal_dispatch sigsave;
/* Initialize everything needed to start iterating. */
void
@@ -711,6 +711,9 @@ call_handler (int sig, struct sigaction& siga, void *handler)
mainthread.lock->acquire ();
+ if (sigsave.sig)
+ goto set_pending;
+
if (mainthread.frame)
{
ebp = mainthread.frame;