19 #include "sighandler.h"
32 #define MAIN_ERR_PREFIX "MAIN: "
39 static volatile posix_sig_atomic_t sighandler_abort = 0;
45 static void sighandler_handler(
int signum)
70 struct_posix_sigaction sa;
72 posix_sigemptyset(&sa.sa_mask);
76 sa.sa_handler = sighandler_handler;
77 rv = posix_sigaction(POSIX_SIGINT, &sa, (struct_posix_sigaction*) NULL);
80 rv = posix_sigaction(POSIX_SIGQUIT, &sa, (struct_posix_sigaction*) NULL);
84 rv = posix_sigaction(POSIX_SIGTERM, &sa, (struct_posix_sigaction*) NULL);
88 sa.sa_handler = POSIX_SIG_IGN;
91 rv = posix_sigaction(POSIX_SIGHUP, &sa, (struct_posix_sigaction*) NULL);
95 rv = posix_sigaction(POSIX_SIGPIPE, &sa, (struct_posix_sigaction*) NULL);
101 PRINT_ERROR(
"Installation of signal handlers failed");
123 struct_posix_sigaction sa;
125 posix_sigemptyset(&sa.sa_mask);
129 sa.sa_handler = POSIX_SIG_DFL;
130 rv = posix_sigaction(POSIX_SIGHUP, &sa, (struct_posix_sigaction*) NULL);
133 rv = posix_sigaction(POSIX_SIGPIPE, &sa, (struct_posix_sigaction*) NULL);
139 PRINT_ERROR(
"Restore of default signal handlers failed");
157 return((
int) sighandler_abort);