util: handle errors in setting of signal handler as fatal
This commit is contained in:
parent
a8167b7959
commit
5bb2bf9361
2 changed files with 7 additions and 9 deletions
14
util.c
14
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;
|
||||
}
|
||||
|
||||
/* ================================================== */
|
||||
|
|
2
util.h
2
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);
|
||||
|
|
Loading…
Reference in a new issue