summaryrefslogtreecommitdiff
path: root/src/commands
diff options
context:
space:
mode:
authorJordyn/The Linux Geek <onlinecloud1@gmail.com>2017-11-04 18:13:41 -0500
committerJordyn/The Linux Geek <onlinecloud1@gmail.com>2017-11-04 18:13:41 -0500
commit5f3360a217f28d1ba80fdf5db3167c87dd70449c (patch)
treec1631ba4f4d7a1b7eaf4e83b38cff450bf3c6a29 /src/commands
parent7b7953aaf2aa0895604e57fe0136ba9a5831349c (diff)
Fix CMD_RESTART with relative paths as argv[0].
Diffstat (limited to 'src/commands')
-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));
}