Browse Source

simply copy signal handling code from gameserver project

master
Georg Hopp 14 years ago
parent
commit
801f115f28
  1. 10
      include/signalHandling.h
  2. 28
      src/signalHandling.c

10
include/signalHandling.h

@ -0,0 +1,10 @@
#ifndef __SIGNAL_HANDLING_H__
#define __SIGNAL_HANDLING_H__
extern volatile int doShutdown;
void terminate(int signum);
void init_signals(void);
#endif // __SIGNAL_HANDLING_H__

28
src/signalHandling.c

@ -0,0 +1,28 @@
#include <signal.h> /* for signal() and signal names */
#include "include/monitor.h"
volatile int doShutdown;
void terminate(int signum)
{
signal(signum, SIG_IGN);
syslogMonitor(LOG_INFO, MON_CRITICAL, "signals",
"caugth deadly signal %d", signum);
syslogMonitor(LOG_INFO, MON_FAILURE, "signals",
"caugth deadly signal %d - service terminated", signum);
doShutdown = 1;
}
void init_signals(void)
{
signal(SIGTERM, terminate);
signal(SIGHUP, SIG_IGN);
signal(SIGINT, terminate);
signal(SIGQUIT, terminate);
signal(SIGABRT, terminate);
signal(SIGALRM, SIG_IGN);
signal(SIGURG, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
}
Loading…
Cancel
Save