summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 = {};