summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/exceptions.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index da4348fdb..a9b378133 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1818,7 +1818,8 @@ _cygtls::call_signal_handler ()
incyg = true;
- set_signal_mask (_my_tls.sigmask, this_oldmask);
+ set_signal_mask (_my_tls.sigmask, (this_sa_flags & SA_SIGINFO)
+ ? context.uc_sigmask : this_oldmask);
if (this_errno >= 0)
set_errno (this_errno);
}