summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libalpm/util.c2
-rw-r--r--src/pacman/sighandler.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 9ae08745..3fbd757a 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -562,7 +562,9 @@ static void _alpm_reset_signals(void)
0
};
struct sigaction def;
+ def.sa_flags = 0;
def.sa_handler = SIG_DFL;
+ sigemptyset(&def.sa_mask);
for(i = signals; *i; i++) {
sigaction(*i, &def, NULL);
}
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index ff9c6ac4..9794b30b 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -106,6 +106,7 @@ static void segv_handler(int signum)
/* restore the default handler */
_reset_handler(signum);
/* unblock SIGSEGV */
+ sigemptyset(&segvset);
sigaddset(&segvset, signum);
sigprocmask(SIG_UNBLOCK, &segvset, NULL);
/* re-raise to trigger a core dump */