From: pk910 Date: Thu, 16 Feb 2012 18:25:33 +0000 (+0100) Subject: fixed crash management X-Git-Tag: v5.4~45 X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=commitdiff_plain;h=7d9422966272d2d0998280521a8347d42bd8e1cb fixed crash management --- 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) {