diff --git a/src/server/main.c b/src/server/main.c index f9d859ea..77c917f9 100644 --- a/src/server/main.c +++ b/src/server/main.c @@ -320,7 +320,11 @@ panic(int sig) logerror("server received fatal signal %d", sig); log_last_commands(); close_files(); - _exit(0); + if (CANT_HAPPEN(sig != SIGBUS && sig != SIGSEGV + && sig != SIGILL && sig != SIGFPE)) + _exit(1); + if (raise(sig)) + _exit(1); } void