* 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.
This commit is contained in:
Christopher Faylor
2005-09-26 14:51:48 +00:00
parent 683cc8189c
commit d5f4ee62b7
4 changed files with 35 additions and 7 deletions

View File

@@ -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;
}
}
}