sighandler: initialize sigaction fields
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
parent
a493170420
commit
8ed98023b4
2 changed files with 3 additions and 0 deletions
|
@ -562,7 +562,9 @@ static void _alpm_reset_signals(void)
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
struct sigaction def;
|
struct sigaction def;
|
||||||
|
def.sa_flags = 0;
|
||||||
def.sa_handler = SIG_DFL;
|
def.sa_handler = SIG_DFL;
|
||||||
|
sigemptyset(&def.sa_mask);
|
||||||
for(i = signals; *i; i++) {
|
for(i = signals; *i; i++) {
|
||||||
sigaction(*i, &def, NULL);
|
sigaction(*i, &def, NULL);
|
||||||
}
|
}
|
||||||
|
|
|
@ -106,6 +106,7 @@ static void segv_handler(int signum)
|
||||||
/* restore the default handler */
|
/* restore the default handler */
|
||||||
_reset_handler(signum);
|
_reset_handler(signum);
|
||||||
/* unblock SIGSEGV */
|
/* unblock SIGSEGV */
|
||||||
|
sigemptyset(&segvset);
|
||||||
sigaddset(&segvset, signum);
|
sigaddset(&segvset, signum);
|
||||||
sigprocmask(SIG_UNBLOCK, &segvset, NULL);
|
sigprocmask(SIG_UNBLOCK, &segvset, NULL);
|
||||||
/* re-raise to trigger a core dump */
|
/* re-raise to trigger a core dump */
|
||||||
|
|
Loading…
Add table
Reference in a new issue