-/* main.c - NeonServ v5.3
+/* main.c - NeonServ v5.4
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
socket_wait = time(0) + SOCKET_SELECT_TIME;
do {
if(!socket_loop(SOCKET_SELECT_TIME)) {
- putlog(LOGLEVEL_ERROR, "No more active Bots... shutting down.");
+ 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();
#endif
void exit_daemon() {
+ running = 0;
if(daemonized) {
remove(PID_FILE);
}
atexit(exit_daemon);
FILE *pidfile = fopen(PID_FILE, "w");
if (pidfile == NULL) {
- fprintf(stderr, "Unable to create PID file: %s", strerror(errno));
- putlog(LOGLEVEL_ERROR, "Unable to create PID file: %s", strerror(errno));
+ fprintf(stderr, "Unable to create PID file: %s\n", strerror(errno));
+ putlog(LOGLEVEL_ERROR, "Unable to create PID file: %s\n", strerror(errno));
} else {
fprintf(pidfile, "%i\n", (int)getpid());
fclose(pidfile);
socket_wait = time(0) + SOCKET_SELECT_TIME;
do {
if(!socket_loop(SOCKET_SELECT_TIME)) {
- putlog(LOGLEVEL_ERROR, "No more active Bots... shutting down.");
+ putlog(LOGLEVEL_ERROR, "No more active Bots... shutting down.\n");
cleanup();
exit(0);
}