… | |
… | |
1238 | /* Signal handlers: */ |
1238 | /* Signal handlers: */ |
1239 | |
1239 | |
1240 | void |
1240 | void |
1241 | rec_sigsegv (int i) |
1241 | rec_sigsegv (int i) |
1242 | { |
1242 | { |
1243 | LOG (llevError, "\nSIGSEGV received.\n"); |
1243 | LOG (llevError, "SIGSEGV received.\n"); |
1244 | fatal_signal (1, 1); |
1244 | fatal_signal (1, 1); |
1245 | } |
1245 | } |
1246 | |
1246 | |
1247 | void |
1247 | void |
1248 | rec_sigint (int i) |
1248 | rec_sigint (int i) |
1249 | { |
1249 | { |
1250 | LOG (llevInfo, "\nSIGINT received.\n"); |
1250 | LOG (llevInfo, "SIGINT received.\n"); |
1251 | fatal_signal (0, 1); |
1251 | fatal_signal (0, 1); |
1252 | } |
1252 | } |
1253 | |
1253 | |
1254 | void |
1254 | void |
1255 | rec_sighup (int i) |
1255 | rec_sighup (int i) |
1256 | { |
1256 | { |
1257 | LOG (llevInfo, "\nSIGHUP received\n"); |
1257 | LOG (llevInfo, "SIGHUP received\n"); |
1258 | |
1258 | |
1259 | if (init_done) |
1259 | if (init_done) |
1260 | cleanup (); |
1260 | cleanup (); |
1261 | |
1261 | |
1262 | exit (0); |
1262 | exit (0); |
1263 | } |
1263 | } |
1264 | |
1264 | |
1265 | void |
1265 | void |
1266 | rec_sigquit (int i) |
1266 | rec_sigquit (int i) |
1267 | { |
1267 | { |
1268 | LOG (llevInfo, "\nSIGQUIT received\n"); |
1268 | LOG (llevInfo, "SIGQUIT received\n"); |
1269 | fatal_signal (1, 1); |
1269 | fatal_signal (1, 1); |
1270 | } |
1270 | } |
1271 | |
1271 | |
1272 | void |
1272 | void |
1273 | rec_sigbus (int i) |
1273 | rec_sigbus (int i) |
1274 | { |
1274 | { |
1275 | #ifdef SIGBUS |
1275 | #ifdef SIGBUS |
1276 | LOG (llevError, "\nSIGBUS received\n"); |
1276 | LOG (llevError, "SIGBUS received\n"); |
1277 | fatal_signal (1, 1); |
1277 | fatal_signal (1, 1); |
1278 | #endif |
1278 | #endif |
1279 | } |
1279 | } |
1280 | |
1280 | |
1281 | void |
1281 | void |
1282 | rec_sigterm (int i) |
1282 | rec_sigterm (int i) |
1283 | { |
1283 | { |
1284 | LOG (llevInfo, "\nSIGTERM received\n"); |
1284 | LOG (llevInfo, "SIGTERM received\n"); |
1285 | fatal_signal (0, 1); |
1285 | fatal_signal (0, 1); |
1286 | } |
1286 | } |
1287 | |
1287 | |
1288 | void |
1288 | void |
1289 | fatal_signal (int make_core, int close_sockets) |
1289 | fatal_signal (int make_core, int close_sockets) |
1290 | { |
1290 | { |
1291 | if (init_done) |
1291 | cleanup (make_core); |
1292 | cleanup (); |
|
|
1293 | //clean_tmp_files (); |
|
|
1294 | |
|
|
1295 | if (make_core) |
|
|
1296 | abort (); |
|
|
1297 | |
|
|
1298 | exit (0); |
|
|
1299 | } |
1292 | } |
1300 | |
1293 | |
1301 | void |
1294 | void |
1302 | init_signals (void) |
1295 | init_signals (void) |
1303 | { |
1296 | { |