X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcmd_restart.cpp;h=c910df8bab94c4eab2965ce4921b75b8f2b8c7a1;hb=d49e33b22c2cbb22bad71fb07ce8003dec8270cf;hp=73bfce298eb51cc7603b07cc3f26a8ee28a5359e;hpb=371daf9928def23164b49b39ced1d3cdeb9225b8;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/cmd_restart.cpp b/src/cmd_restart.cpp index 73bfce298..c910df8ba 100644 --- a/src/cmd_restart.cpp +++ b/src/cmd_restart.cpp @@ -11,13 +11,12 @@ * --------------------------------------------------- */ +#include "inspircd.h" #include "configreader.h" #include "users.h" #include "commands/cmd_restart.h" - - -extern "C" command_t* init_command(InspIRCd* Instance) +extern "C" DllExport command_t* init_command(InspIRCd* Instance) { return new cmd_restart(Instance); } @@ -28,7 +27,16 @@ CmdResult cmd_restart::Handle (const char** parameters, int pcnt, userrec *user) if (!strcmp(parameters[0],ServerInstance->Config->restartpass)) { ServerInstance->WriteOpers("*** RESTART command from %s!%s@%s, restarting server.",user->nick,user->ident,user->host); - ServerInstance->Restart("Server restarting"); + + try + { + ServerInstance->Restart("Server restarting."); + } + catch (...) + { + /* We dont actually get here unless theres some fatal and unrecoverable error. */ + exit(0); + } } else {