You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by ji...@apache.org on 2016/07/04 17:01:27 UTC
[06/15] mesos git commit: Used os::raw::Argv in command executor.
Used os::raw::Argv in command executor.
Review: https://reviews.apache.org/r/49425
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/e9e7cf00
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/e9e7cf00
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/e9e7cf00
Branch: refs/heads/master
Commit: e9e7cf00e6f5cc71efdfe1d7439484b28bc07f86
Parents: 7e63b80
Author: Jie Yu <yu...@gmail.com>
Authored: Wed Jun 29 21:48:28 2016 -0700
Committer: Jie Yu <yu...@gmail.com>
Committed: Mon Jul 4 10:01:13 2016 -0700
----------------------------------------------------------------------
src/launcher/posix/executor.cpp | 10 +++-------
src/launcher/windows/executor.cpp | 10 +---------
2 files changed, 4 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/e9e7cf00/src/launcher/posix/executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/posix/executor.cpp b/src/launcher/posix/executor.cpp
index 805280e..3ced30f 100644
--- a/src/launcher/posix/executor.cpp
+++ b/src/launcher/posix/executor.cpp
@@ -21,6 +21,8 @@
#include <stout/os.hpp>
#include <stout/strings.hpp>
+#include <stout/os/raw/argv.hpp>
+
#ifdef __linux__
#include "linux/fs.hpp"
#endif
@@ -81,11 +83,7 @@ pid_t launchTaskPosix(
}
// Prepare the argv before fork as it's not async signal safe.
- char **argv = new char*[command.arguments().size() + 1];
- for (int i = 0; i < command.arguments().size(); i++) {
- argv[i] = (char*) command.arguments(i).c_str();
- }
- argv[command.arguments().size()] = nullptr;
+ os::raw::Argv argv(command.arguments());
pid_t pid;
if ((pid = fork()) == -1) {
@@ -214,8 +212,6 @@ pid_t launchTaskPosix(
ABORT("Failed to exec: " + os::strerror(errno));
}
- delete[] argv;
-
return pid;
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/e9e7cf00/src/launcher/windows/executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/windows/executor.cpp b/src/launcher/windows/executor.cpp
index b008052..a7b8125 100644
--- a/src/launcher/windows/executor.cpp
+++ b/src/launcher/windows/executor.cpp
@@ -69,15 +69,7 @@ PROCESS_INFORMATION launchTaskWindows(
// TODO(jieyu): Consider allowing os::stringify_args to take
// `command.arguments()` directly.
- char **argv = new char*[command.arguments().size() + 1];
- for (int i = 0; i < command.arguments().size(); i++) {
- argv[i] = (char*) command.arguments(i).c_str();
- }
- argv[command.arguments().size()] = nullptr;
-
- commandLine = os::stringify_args(argv);
-
- delete[] argv;
+ commandLine = os::stringify_args(os::raw::Argv(command.arguments()));
}
cout << commandLine << endl;