From 7d9422966272d2d0998280521a8347d42bd8e1cb Mon Sep 17 00:00:00 2001 From: pk910 Date: Thu, 16 Feb 2012 19:25:33 +0100 Subject: [PATCH] fixed crash management --- src/main.c | 3 +++ src/signal.c | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main.c b/src/main.c index c5413d9..f567e93 100644 --- a/src/main.c +++ b/src/main.c @@ -116,11 +116,13 @@ void * thread_main(void *arg) { socket_wait = time(0) + SOCKET_SELECT_TIME; do { if(!socket_loop(SOCKET_SELECT_TIME)) { + if(!running) break; putlog(LOGLEVEL_ERROR, "No more active Bots... shutting down.\n"); cleanup(); exit(0); } } while(time(0) < socket_wait); + if(!running) break; clearTempUsers(); destroyEvents(); mysql_free(); @@ -147,6 +149,7 @@ int getCurrentThreadID() { #endif void exit_daemon() { + running = 0; if(daemonized) { remove(PID_FILE); } diff --git a/src/signal.c b/src/signal.c index 8886e6f..1eb2383 100644 --- a/src/signal.c +++ b/src/signal.c @@ -90,9 +90,10 @@ static void sigcrash(int signum) { } putlog(LOGLEVEL_INFO, "hard shutdown...\n"); exit_daemon(); - usleep(1000000); + usleep(2000000); //hard restart restart_process(); + exit(0); } static void sigexit(int signum) { -- 2.20.1