diff --git a/util.c b/util.c index 7236202..811914b 100644 --- a/util.c +++ b/util.c @@ -995,7 +995,7 @@ UTI_FdSetCloexec(int fd) /* ================================================== */ -int +void UTI_SetQuitSignalsHandler(void (*handler)(int)) { struct sigaction sa; @@ -1003,26 +1003,24 @@ UTI_SetQuitSignalsHandler(void (*handler)(int)) sa.sa_handler = handler; sa.sa_flags = SA_RESTART; if (sigemptyset(&sa.sa_mask) < 0) - return 0; + LOG_FATAL("sigemptyset() failed"); #ifdef SIGINT if (sigaction(SIGINT, &sa, NULL) < 0) - return 0; + LOG_FATAL("sigaction(%d) failed", SIGINT); #endif #ifdef SIGTERM if (sigaction(SIGTERM, &sa, NULL) < 0) - return 0; + LOG_FATAL("sigaction(%d) failed", SIGTERM); #endif #ifdef SIGQUIT if (sigaction(SIGQUIT, &sa, NULL) < 0) - return 0; + LOG_FATAL("sigaction(%d) failed", SIGQUIT); #endif #ifdef SIGHUP if (sigaction(SIGHUP, &sa, NULL) < 0) - return 0; + LOG_FATAL("sigaction(%d) failed", SIGHUP); #endif - - return 1; } /* ================================================== */ diff --git a/util.h b/util.h index 40ff729..96fdc76 100644 --- a/util.h +++ b/util.h @@ -161,7 +161,7 @@ extern Float UTI_FloatHostToNetwork(double x); /* Set FD_CLOEXEC on descriptor */ extern int UTI_FdSetCloexec(int fd); -extern int UTI_SetQuitSignalsHandler(void (*handler)(int)); +extern void UTI_SetQuitSignalsHandler(void (*handler)(int)); /* Get directory (as an allocated string) for a path */ extern char *UTI_PathToDir(const char *path);