From 4eab146fc7e6e1bf73fba64bac39c954b11954f9 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 1 Jan 2006 17:15:01 +0000 Subject: [PATCH] * exceptions.cc (sigpacket::process): Pass actual reference to signal's sigaction structure to setup_handler. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/exceptions.cc | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 261259086..9dee41b2f 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2006-01-01 Christopher Faylor + + * exceptions.cc (sigpacket::process): Pass actual reference to signal's + sigaction structure to setup_handler. + 2006-01-01 Christopher Faylor * exceptions.cc (_cygtls::interrupt_setup): Implement SA_RESETHAND. diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 73f5cfd5e..649f93fde 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1082,7 +1082,7 @@ sigpacket::process () int rc = 1; sigproc_printf ("signal %d processing", si.si_signo); - struct sigaction thissig = global_sigs[si.si_signo]; + struct sigaction& thissig = global_sigs[si.si_signo]; myself->rusage_self.ru_nsignals++; @@ -1182,7 +1182,8 @@ stop: if (ISSTATE (myself, PID_STOPPED)) goto done; handler = (void *) sig_handle_tty_stop; - thissig = global_sigs[SIGSTOP]; + struct sigaction dummy = global_sigs[SIGSTOP]; + thissig = dummy; dosig: /* Dispatch to the appropriate function. */ -- 2.43.5