diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 14:06:57 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-12-23 14:06:57 +0000 |
commit | 371daf9928def23164b49b39ced1d3cdeb9225b8 (patch) | |
tree | e786547ee80ef75eba14e0bb9c67b725bfae21fe /src/cmd_restart.cpp | |
parent | 089cf1f5fd2ca1d2ca9d49db3c646ecbede67167 (diff) |
Refactored /RESTART (and added InspIRCd::Restart(reason))
Fixed bug in m_ziplinks, assigning instead of testing a var (gcc 4.1.1 picked up on this, 3.4 didnt)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6067 e03df62e-2008-0410-955e-edbf42e46eb7
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 { |