diff options
Diffstat (limited to 'src/cmd_restart.cpp')
-rw-r--r-- | src/cmd_restart.cpp | 28 |
1 files changed, 1 insertions, 27 deletions
diff --git a/src/cmd_restart.cpp b/src/cmd_restart.cpp index c985c1717..73bfce298 100644 --- a/src/cmd_restart.cpp +++ b/src/cmd_restart.cpp @@ -24,37 +24,11 @@ extern "C" command_t* init_command(InspIRCd* Instance) CmdResult cmd_restart::Handle (const char** parameters, int pcnt, userrec *user) { - char *argv[32]; ServerInstance->Log(DEFAULT,"Restart: %s",user->nick); if (!strcmp(parameters[0],ServerInstance->Config->restartpass)) { ServerInstance->WriteOpers("*** RESTART command from %s!%s@%s, restarting server.",user->nick,user->ident,user->host); - - argv[0] = ServerInstance->Config->MyExecutable; - argv[1] = "-wait"; - if (ServerInstance->Config->nofork) - { - argv[2] = "-nofork"; - } - else - { - argv[2] = NULL; - } - argv[3] = NULL; - - // close ALL file descriptors - ServerInstance->SendError("Server restarting."); - sleep(1); - for (int i = 0; i < MAX_DESCRIPTORS; i++) - { - shutdown(i,2); - close(i); - } - sleep(2); - - execv(ServerInstance->Config->MyExecutable,argv); - - exit(0); + ServerInstance->Restart("Server restarting"); } else { |