# include <fcntl.h>
#endif
#ifdef HAVE_SIGNAL_H
+#define __USE_UNIX98
# include <signal.h>
#endif
#ifdef HAVE_STDLIB_H
sigemptyset(&sigset);
action.sa_handler = dispatch_signal;
action.sa_mask = sigset;
- action.sa_flags = SA_NOCLDSTOP;
+ action.sa_flags = SA_NOCLDSTOP | SA_NODEFER;
sigaction(SIGUSR1, &action, (struct sigaction *) NULL);
sigaction(SIGPIPE, &action, (struct sigaction *) NULL);
- sigaction(SIGSEGV, &action, (struct sigaction *) NULL);
+/* sigaction(SIGSEGV, &action, (struct sigaction *) NULL);*/
sigaction(SIGFPE, &action, (struct sigaction *) NULL);
sigaction(SIGTERM, &action, (struct sigaction *) NULL);
sigaction(SIGINT, &action, (struct sigaction *) NULL);
s = e->data.s.signal;
switch (s) {
case SIGUSR1:
- g_message("Caught SIGUSR1 signal. Restarting.");
+ fprintf(stderr, "Caught SIGUSR1 signal. Restarting.");
ob_shutdown = ob_restart = TRUE;
break;
case SIGINT:
case SIGTERM:
case SIGPIPE:
- g_message("Caught signal %d. Exiting.", s);
+ fprintf(stderr, "Caught signal %d. Exiting.", s);
ob_shutdown = TRUE;
break;
case SIGFPE:
case SIGSEGV:
- g_message("Caught signal %d. Aborting and dumping core.", s);
+ fprintf(stderr, "Caught signal %d. Aborting and dumping core.", s);
abort();
}
}