diff options
author | Christopher Faylor <me@cgf.cx> | 2005-09-26 14:51:48 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2005-09-26 14:51:48 +0000 |
commit | d5f4ee62b706f7cfe22a92fd796dc36382690950 (patch) | |
tree | cde2c46f08aab9c699af1a2d3d8f57e5ba1ead60 /winsup/cygwin/sigproc.cc | |
parent | 683cc8189ce70bb5f33bec465eebad6effc9bd36 (diff) | |
download | cygnal-d5f4ee62b706f7cfe22a92fd796dc36382690950.tar.gz cygnal-d5f4ee62b706f7cfe22a92fd796dc36382690950.tar.bz2 cygnal-d5f4ee62b706f7cfe22a92fd796dc36382690950.zip |
* exceptions.cc (handle_exceptions): Just si_code to SI_KERNEL first and let it
be overridden.
* exceptions.cc (_cygtls::call_signal_handler): Call signal handler with extra
siginfo_t * and void * parameters when SA_SIGINFO flag is set.
* signal.cc (signal): Clear SA_SIGINFO flag.
(sigqueue): Fix incorrect setting of si_code.
* sigproc.cc (signal_fixup_after_exec): Clear SA_SIGINFO flag when setting
handler to SIG_DFL.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 7482bcbda..e27fccdd9 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -120,7 +120,10 @@ signal_fixup_after_exec () { global_sigs[i].sa_mask = 0; if (global_sigs[i].sa_handler != SIG_IGN) - global_sigs[i].sa_handler = SIG_DFL; + { + global_sigs[i].sa_handler = SIG_DFL; + global_sigs[i].sa_flags &= ~ SA_SIGINFO; + } } } |