X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands%2Fcmd_restart.cpp;h=d47cfb23d5ebd65d46d52ee4a5073a2a862de92d;hb=2f8303334f2c5a62bcce47d39e8cf41208a9a296;hp=79dc27e4d898f4afd88fc69b07059bc526d38792;hpb=cd712c40e1b352c05e7ae0f72e0a5e84cdf64323;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands/cmd_restart.cpp b/src/commands/cmd_restart.cpp index 79dc27e4d..d47cfb23d 100644 --- a/src/commands/cmd_restart.cpp +++ b/src/commands/cmd_restart.cpp @@ -37,23 +37,16 @@ CmdResult CommandRestart::Handle (const std::vector& parameters, Us { ServerInstance->SNO->WriteGlobalSno('a', "RESTART command from %s!%s@%s, restarting server.", user->nick.c_str(), user->ident.c_str(), user->host.c_str()); - try - { - ServerInstance->Restart("Server restarting."); - } - catch (...) - { - /* We dont actually get here unless theres some fatal and unrecoverable error. */ - exit(0); - } + ServerInstance->SendError("Server restarting."); + execv(ServerInstance->Config->cmdline.argv[0], ServerInstance->Config->cmdline.argv); + ServerInstance->SNO->WriteGlobalSno('a', "Failed RESTART - could not execute '%s' (%s)", + ServerInstance->Config->cmdline.argv[0], strerror(errno)); } else { ServerInstance->SNO->WriteGlobalSno('a', "Failed RESTART Command from %s!%s@%s.", user->nick.c_str(), user->ident.c_str(), user->host.c_str()); - return CMD_FAILURE; } - - return CMD_SUCCESS; + return CMD_FAILURE; }