diff options
Diffstat (limited to 'signal_handler.c')
| -rw-r--r-- | signal_handler.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/signal_handler.c b/signal_handler.c new file mode 100644 index 0000000..8052eba --- /dev/null +++ b/signal_handler.c @@ -0,0 +1,38 @@ +/* + +(C) 2009-2011 Mika Ilmaranta <ilmis@nullnet.fi> + +License: GPLv2 + +*/ + +#include <stdio.h> +#include <errno.h> +#include <signal.h> + +#include "globals.h" + +void signal_handler(int signo) { + int errno_save; + + errno_save = errno; + + switch(signo) { + case SIGINT: + set_cont(0); + break; + case SIGUSR1: + set_dump(1); + break; + case SIGUSR2: + set_dump_if_list(1); + break; + case SIGHUP: + set_reload_cfg(1); + break; + } + + errno = errno_save; +} + +/* EOF */ |
