|
Lines 121-127
Link Here
|
| 121 |
flags |= SA_RESTART; |
121 |
flags |= SA_RESTART; |
| 122 |
#endif |
122 |
#endif |
| 123 |
|
123 |
|
| 124 |
sig_act.sa_handler = sigchld_handler; |
124 |
sig_act.__sigaction_u.__sa_handler = sigchld_handler; |
| 125 |
sigemptyset(&sig_act.sa_mask); |
125 |
sigemptyset(&sig_act.sa_mask); |
| 126 |
sigaddset(&sig_act.sa_mask, SIGCHLD); |
126 |
sigaddset(&sig_act.sa_mask, SIGCHLD); |
| 127 |
sig_act.sa_flags = flags; |
127 |
sig_act.sa_flags = flags; |
|
Lines 136-162
Link Here
|
| 136 |
* now, thanks to leo@marco.de, but I might as well keeps this. |
136 |
* now, thanks to leo@marco.de, but I might as well keeps this. |
| 137 |
*/ |
137 |
*/ |
| 138 |
|
138 |
|
| 139 |
sig_act.sa_handler = SIG_IGN; |
139 |
sig_act.__sigaction_u.__sa_handler = SIG_IGN; |
| 140 |
sigemptyset(&sig_act.sa_mask); |
140 |
sigemptyset(&sig_act.sa_mask); |
| 141 |
sig_act.sa_flags = flags; |
141 |
sig_act.sa_flags = flags; |
| 142 |
if (sigaction(SIGPIPE, &sig_act, NULL) < 0) |
142 |
if (sigaction(SIGPIPE, &sig_act, NULL) < 0) |
| 143 |
perror("knews: sigaction(SIGPIPE)"); |
143 |
perror("knews: sigaction(SIGPIPE)"); |
| 144 |
|
144 |
|
| 145 |
sig_act.sa_handler = sigfpe_handler; |
145 |
sig_act.__sigaction_u.__sa_handler = sigfpe_handler; |
| 146 |
sigemptyset(&sig_act.sa_mask); |
146 |
sigemptyset(&sig_act.sa_mask); |
| 147 |
sigaddset(&sig_act.sa_mask, SIGFPE); |
147 |
sigaddset(&sig_act.sa_mask, SIGFPE); |
| 148 |
sig_act.sa_flags = flags; |
148 |
sig_act.sa_flags = flags; |
| 149 |
if (sigaction(SIGFPE, &sig_act, NULL) < 0) |
149 |
if (sigaction(SIGFPE, &sig_act, NULL) < 0) |
| 150 |
perror("knews: sigaction(SIGFPE)"); |
150 |
perror("knews: sigaction(SIGFPE)"); |
| 151 |
|
151 |
|
| 152 |
sig_act.sa_handler = sighup_handler; |
152 |
sig_act.__sigaction_u.__sa_handler = sighup_handler; |
| 153 |
sigemptyset(&sig_act.sa_mask); |
153 |
sigemptyset(&sig_act.sa_mask); |
| 154 |
sigaddset(&sig_act.sa_mask, SIGHUP); |
154 |
sigaddset(&sig_act.sa_mask, SIGHUP); |
| 155 |
sig_act.sa_flags = flags; |
155 |
sig_act.sa_flags = flags; |
| 156 |
if (sigaction(SIGHUP, &sig_act, NULL) < 0) |
156 |
if (sigaction(SIGHUP, &sig_act, NULL) < 0) |
| 157 |
perror("knews: sigaction(SIGHUP)"); |
157 |
perror("knews: sigaction(SIGHUP)"); |
| 158 |
|
158 |
|
| 159 |
sig_act.sa_handler = sigusr1_handler; |
159 |
sig_act.__sigaction_u.__sa_handler = sigusr1_handler; |
| 160 |
sigemptyset(&sig_act.sa_mask); |
160 |
sigemptyset(&sig_act.sa_mask); |
| 161 |
sigaddset(&sig_act.sa_mask, SIGUSR1); |
161 |
sigaddset(&sig_act.sa_mask, SIGUSR1); |
| 162 |
sig_act.sa_flags = flags; |
162 |
sig_act.sa_flags = flags; |
|
Lines 168-174
Link Here
|
| 168 |
{ |
168 |
{ |
| 169 |
struct sigaction sig_act; |
169 |
struct sigaction sig_act; |
| 170 |
|
170 |
|
| 171 |
sig_act.sa_handler = SIG_DFL; |
171 |
sig_act.__sigaction_u.__sa_handler = SIG_DFL; |
| 172 |
sigemptyset(&sig_act.sa_mask); |
172 |
sigemptyset(&sig_act.sa_mask); |
| 173 |
sig_act.sa_flags = 0; |
173 |
sig_act.sa_flags = 0; |
| 174 |
if (sigaction(SIGPIPE, &sig_act, NULL) < 0) |
174 |
if (sigaction(SIGPIPE, &sig_act, NULL) < 0) |