summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2017-11-05 22:43:36 +0000
committerGitHub <noreply@github.com>2017-11-05 22:43:36 +0000
commit473d990d6223723c60551d183ea0d7300c8af8df (patch)
treec1631ba4f4d7a1b7eaf4e83b38cff450bf3c6a29
parent7b7953aaf2aa0895604e57fe0136ba9a5831349c (diff)
parent5f3360a217f28d1ba80fdf5db3167c87dd70449c (diff)
Merge pull request #1410 from jcjordyn130/insp20
Fix CMD_RESTART with relative paths as argv[0].
-rw-r--r--src/commands/cmd_restart.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/commands/cmd_restart.cpp b/src/commands/cmd_restart.cpp
index bdbcfed35..48f902d1e 100644
--- a/src/commands/cmd_restart.cpp
+++ b/src/commands/cmd_restart.cpp
@@ -47,7 +47,7 @@ CmdResult CommandRestart::Handle (const std::vector<std::string>& parameters, Us
ServerInstance->SendError("Server restarting.");
#ifndef _WIN32
- /* XXX: This hack sets FD_CLOEXEC on all possible file descriptors, so they're closed if the execv() below succeeds.
+ /* XXX: This hack sets FD_CLOEXEC on all possible file descriptors, so they're closed if the execvp() below succeeds.
* Certainly, this is not a nice way to do things and it's slow when the fd limit is high.
*
* A better solution would be to set the close-on-exec flag for each fd we create (or create them with O_CLOEXEC),
@@ -61,7 +61,7 @@ CmdResult CommandRestart::Handle (const std::vector<std::string>& parameters, Us
}
#endif
- execv(ServerInstance->Config->cmdline.argv[0], ServerInstance->Config->cmdline.argv);
+ execvp(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));
}