aboutsummaryrefslogtreecommitdiff
path: root/src/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils.c')
-rw-r--r--src/utils.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/utils.c b/src/utils.c
index 9abdff4..6c9873b 100644
--- a/src/utils.c
+++ b/src/utils.c
@@ -52,6 +52,8 @@ int set_fd_nonblock(int fd)
static void sighandler_child(int signo)
{
switch (signo) {
+ case SIGABRT:
+ exit(EXIT_FAILURE);
case SIGHUP:
if (getppid() == 1) {
N("Master process %d died, exiting", getpgrp());
@@ -70,6 +72,7 @@ int set_child_sighandler(void)
return 1;
assert( signal(SIGCHLD, SIG_IGN) != SIG_ERR );
assert( signal(SIGPIPE, SIG_IGN) != SIG_ERR );
+ assert( signal(SIGABRT, sighandler_child) != SIG_ERR );
assert( signal(SIGSEGV, sighandler_child) != SIG_ERR );
return signal(SIGHUP, sighandler_child) == SIG_ERR;