-/* signal.c - NeonServ v5.5
+/* signal.c - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
#include "bots.h"
#include "ChanNode.h"
#include "ClientSocket.h"
+#include "IOHandler.h"
#include "ConfigParser.h"
static void sigcrash();
struct ClientSocket *bot;
for(bot = getBots(SOCKET_FLAG_READY, NULL); bot; bot = getBots(SOCKET_FLAG_READY, bot)) {
if((bot->flags & SOCKET_FLAG_CONNECTED)) {
- close(bot->sock);
+ iohandler_close(bot->iofd);
bot->flags &= ~(SOCKET_FLAG_CONNECTED | SOCKET_FLAG_READY);
+ bot->iofd = NULL;
}
}
putlog(LOGLEVEL_INFO, "hard shutdown...\n");
- exit_daemon();
usleep(2000000);
//hard restart
- restart_process();
+ restart_bot(1);
exit(0);
}
static void sigexit(int signum) {
- cleanup();
- exit_daemon();
- exit(0);
+ stop_bot();
}