aboutsummaryrefslogtreecommitdiff
path: root/signal_handler.c
blob: 8052ebafe8095ac5aa1fb04058e2d8c11cb06fef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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 */