Commit 801f115f28ebaabda2311d26fe88afe4d055512f
1 parent
c6635e39
simply copy signal handling code from gameserver project
Showing
2 changed files
with
38 additions
and
0 deletions
include/signalHandling.h
0 → 100644
src/signalHandling.c
0 → 100644
| 1 | +#include <signal.h> /* for signal() and signal names */ | ||
| 2 | + | ||
| 3 | +#include "include/monitor.h" | ||
| 4 | + | ||
| 5 | +volatile int doShutdown; | ||
| 6 | + | ||
| 7 | +void terminate(int signum) | ||
| 8 | +{ | ||
| 9 | + signal(signum, SIG_IGN); | ||
| 10 | + syslogMonitor(LOG_INFO, MON_CRITICAL, "signals", | ||
| 11 | + "caugth deadly signal %d", signum); | ||
| 12 | + syslogMonitor(LOG_INFO, MON_FAILURE, "signals", | ||
| 13 | + "caugth deadly signal %d - service terminated", signum); | ||
| 14 | + doShutdown = 1; | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +void init_signals(void) | ||
| 18 | +{ | ||
| 19 | + signal(SIGTERM, terminate); | ||
| 20 | + signal(SIGHUP, SIG_IGN); | ||
| 21 | + signal(SIGINT, terminate); | ||
| 22 | + signal(SIGQUIT, terminate); | ||
| 23 | + signal(SIGABRT, terminate); | ||
| 24 | + signal(SIGALRM, SIG_IGN); | ||
| 25 | + signal(SIGURG, SIG_IGN); | ||
| 26 | + | ||
| 27 | + signal(SIGPIPE, SIG_IGN); | ||
| 28 | +} |
Please
register
or
login
to post a comment