aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/exceptions.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r--winsup/cygwin/exceptions.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 32d4b6d..6811ecf 100644
--- a/winsup/cygwin/exceptions.cc
+++ b/winsup/cygwin/exceptions.cc
@@ -1242,7 +1242,6 @@ _cygtls::call_signal_handler ()
lock (); unlock (); // make sure synchronized
this_sa_flags = sa_flags;
int thissig = sig;
- void (*sigfunc) (int) = func;
pop ();
reset_signal_arrived ();
@@ -1250,8 +1249,11 @@ _cygtls::call_signal_handler ()
int this_errno = saved_errno;
incyg--;
sig = 0;
- if (this_sa_flags & SA_SIGINFO == 0)
- sigfunc (thissig);
+ if (!(this_sa_flags & SA_SIGINFO))
+ {
+ void (*sigfunc) (int) = func;
+ sigfunc (thissig);
+ }
else
{
siginfo_t thissi = infodata;