Branch data Line data Source code
1 : : /**
2 : : * \file
3 : : *
4 : : * \author Georg Hopp
5 : : *
6 : : * \copyright
7 : : * Copyright © 2012 Georg Hopp
8 : : *
9 : : * This program is free software: you can redistribute it and/or modify
10 : : * it under the terms of the GNU General Public License as published by
11 : : * the Free Software Foundation, either version 3 of the License, or
12 : : * (at your option) any later version.
13 : : *
14 : : * This program is distributed in the hope that it will be useful,
15 : : * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 : : * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 : : * GNU General Public License for more details.
18 : : *
19 : : * You should have received a copy of the GNU General Public License
20 : : * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 : : */
22 : :
23 : : #include <signal.h> // for signal() and signal names
24 : :
25 : : volatile int doShutdown;
26 : :
27 : 1 : void terminate(int signum)
28 : : {
29 : 1 : signal(signum, SIG_IGN);
30 : : /*
31 : : * \todo do logging here
32 : : */
33 : 1 : doShutdown = 1;
34 : 1 : }
35 : :
36 : 1 : void init_signals(void)
37 : : {
38 : 1 : signal(SIGTERM, terminate);
39 : 1 : signal(SIGHUP, SIG_IGN);
40 : 1 : signal(SIGINT, terminate);
41 : 1 : signal(SIGQUIT, terminate);
42 : 1 : signal(SIGABRT, terminate);
43 : 1 : signal(SIGALRM, SIG_IGN);
44 : 1 : signal(SIGURG, SIG_IGN);
45 : :
46 : 1 : signal(SIGPIPE, SIG_IGN);
47 : 1 : }
|