23 |
|
*/ |
24 |
|
|
25 |
|
#include "stdinc.h" |
26 |
< |
#include "common.h" |
26 |
> |
#include "list.h" |
27 |
|
#include "ircd_signal.h" |
28 |
|
#include "ircd.h" /* dorehash */ |
29 |
< |
#include "restart.h" /* server_reboot */ |
29 |
> |
#include "restart.h" /* server_die */ |
30 |
|
#include "s_log.h" |
31 |
|
#include "memory.h" |
32 |
|
#include "s_bsd.h" |
37 |
|
static void |
38 |
|
sigterm_handler(int sig) |
39 |
|
{ |
40 |
< |
server_die("received signal SIGTERM", NO); |
40 |
> |
server_die("received signal SIGTERM", 0); |
41 |
|
} |
42 |
|
|
43 |
|
/* |
78 |
|
static void |
79 |
|
sigint_handler(int sig) |
80 |
|
{ |
81 |
< |
if (server_state.foreground) |
82 |
< |
server_die("SIGINT received", NO); |
83 |
< |
else |
84 |
< |
restart("SIGINT received"); |
81 |
> |
server_die("SIGINT received", !server_state.foreground); |
82 |
|
} |
83 |
|
|
84 |
|
/* |
91 |
|
|
92 |
|
act.sa_flags = 0; |
93 |
|
act.sa_handler = SIG_IGN; |
94 |
+ |
|
95 |
|
sigemptyset(&act.sa_mask); |
96 |
|
sigaddset(&act.sa_mask, SIGPIPE); |
97 |
|
sigaddset(&act.sa_mask, SIGALRM); |
98 |
+ |
sigaction(SIGALRM, &act, 0); |
99 |
|
#ifdef SIGTRAP |
100 |
|
sigaddset(&act.sa_mask, SIGTRAP); |
101 |
|
#endif |
102 |
+ |
#ifdef SIGXFSZ |
103 |
+ |
sigaddset(&act.sa_mask, SIGXFSZ); |
104 |
+ |
sigaction(SIGXFSZ, &act, 0); |
105 |
+ |
#endif |
106 |
|
|
107 |
|
#ifdef SIGWINCH |
108 |
|
sigaddset(&act.sa_mask, SIGWINCH); |