summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2015-12-21 14:49:18 +0100
committerMatthias Schiffer <mschiffer@universe-factory.net>2015-12-21 14:49:18 +0100
commit0358cbf937ee73447970546290a01f82c450dab9 (patch)
tree772e371c39ff144d2967351cbb96c3b46df1ceb8 /src
parent0e159b6d641ae3a2568ba9dfcee95f4f2560fbaf (diff)
downloadfastd-0358cbf937ee73447970546290a01f82c450dab9.tar
fastd-0358cbf937ee73447970546290a01f82c450dab9.zip
Don't block fatal signals
Diffstat (limited to 'src')
-rw-r--r--src/fastd.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fastd.c b/src/fastd.c
index 8580cf2..64bc294 100644
--- a/src/fastd.c
+++ b/src/fastd.c
@@ -108,9 +108,13 @@ static void on_signal(int signo) {
/** Installs signal handlers */
static void init_signals(void) {
+ /* block all non-fatal signals */
sigset_t set;
sigfillset(&set);
- /* block all signals */
+ sigdelset(&set, SIGILL);
+ sigdelset(&set, SIGABRT);
+ sigdelset(&set, SIGFPE);
+ sigdelset(&set, SIGSEGV);
pthread_sigmask(SIG_SETMASK, &set, NULL);
struct sigaction action = {};