From a3d5219c5f63c9f98e88667866017987f147babf Mon Sep 17 00:00:00 2001
From: Christopher Faylor <me@cgf.cx>
Date: Mon, 26 Sep 2005 14:58:16 +0000
Subject: [PATCH] * exceptions.cc (_cygtls::call_signal_handler): Minor
 cleanup.

---
 winsup/cygwin/ChangeLog     | 4 ++++
 winsup/cygwin/exceptions.cc | 8 +++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 94356e391..9d3549cfc 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,7 @@
+2005-09-26  Christopher Faylor  <cgf@timesys.com>
+
+	* exceptions.cc (_cygtls::call_signal_handler): Minor cleanup.
+
 2005-09-26  Corinna Vinschen  <corinna@vinschen.de>
 
 	* fhandler.h (class fhandler_dev_raw): Add drive information members
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc
index 32d4b6d7e..6811ecf40 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;