You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by an...@apache.org on 2018/03/06 23:24:33 UTC
[8/8] mesos git commit: Fixed Mesos since `os::spawn()` now returns
an `Option`.
Fixed Mesos since `os::spawn()` now returns an `Option<int>`.
The `os::spawn()` function now returns `None()` for a launch failure
instead of `-1`, and a `Some(exit_code)` for success.
Review: https://reviews.apache.org/r/65864/
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/be8be3b8
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/be8be3b8
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/be8be3b8
Branch: refs/heads/master
Commit: be8be3b88ec0c1bddd461cb2ed1396ebd8f03b70
Parents: 1971a54
Author: Akash Gupta <ak...@hotmail.com>
Authored: Tue Mar 6 13:11:27 2018 -0800
Committer: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Committed: Tue Mar 6 13:52:56 2018 -0800
----------------------------------------------------------------------
src/linux/fs.cpp | 15 ++++++++-------
.../mesos/isolators/network/cni/cni.cpp | 10 ++++++----
src/tests/containerizer/perf_tests.cpp | 4 +++-
3 files changed, 17 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/be8be3b8/src/linux/fs.cpp
----------------------------------------------------------------------
diff --git a/src/linux/fs.cpp b/src/linux/fs.cpp
index dae0942..ed26f80 100644
--- a/src/linux/fs.cpp
+++ b/src/linux/fs.cpp
@@ -38,16 +38,16 @@ extern "C" {
#include <stout/adaptor.hpp>
#include <stout/check.hpp>
#include <stout/error.hpp>
+#include <stout/fs.hpp>
#include <stout/hashmap.hpp>
#include <stout/hashset.hpp>
#include <stout/numify.hpp>
+#include <stout/option.hpp>
+#include <stout/os.hpp>
#include <stout/path.hpp>
#include <stout/strings.hpp>
#include <stout/synchronized.hpp>
-#include <stout/fs.hpp>
-#include <stout/os.hpp>
-
#include <stout/os/read.hpp>
#include <stout/os/realpath.hpp>
#include <stout/os/shell.hpp>
@@ -554,17 +554,18 @@ Try<Nothing> unmountAll(const string& target, int flags)
// still catch the error here in case there's an error somewhere
// else while running this command.
// TODO(xujyan): Consider using `setmntent(3)` to implement this.
- int status = os::spawn("umount", {"umount", "--fake", entry.dir});
+ const Option<int> status =
+ os::spawn("umount", {"umount", "--fake", entry.dir});
const string message =
"Failed to clean up '" + entry.dir + "' in /etc/mtab";
- if (status == -1) {
+ if (status.isNone()) {
return ErrnoError(message);
}
- if (!WSUCCEEDED(status)) {
- return Error(message + ": " + WSTRINGIFY(status));
+ if (!WSUCCEEDED(status.get())) {
+ return Error(message + ": " + WSTRINGIFY(status.get()));
}
}
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/be8be3b8/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
index c60c23f..d8dc02a 100644
--- a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
+++ b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
@@ -27,6 +27,7 @@
#include <stout/adaptor.hpp>
#include <stout/net.hpp>
+#include <stout/option.hpp>
#include <stout/os.hpp>
#include <stout/path.hpp>
#include <stout/strings.hpp>
@@ -2077,20 +2078,21 @@ int NetworkCniIsolatorSetup::execute()
return EXIT_FAILURE;
}
- int status = os::spawn("ifconfig", {"ifconfig", "lo", "up"});
+ const Option<int> status = os::spawn("ifconfig", {"ifconfig", "lo", "up"});
const string message =
"Failed to bring up the loopback interface in the new "
"network namespace of pid " + stringify(flags.pid.get());
- if (status == -1) {
+ if (status.isNone()) {
cerr << message << ": " << "os::spawn failed: "
<< os::strerror(errno) << endl;
return EXIT_FAILURE;
}
- if (!WSUCCEEDED(status)) {
- cerr << message << ": 'ifconfig lo up' " << WSTRINGIFY(status) << endl;
+ if (!WSUCCEEDED(status.get())) {
+ cerr << message << ": 'ifconfig lo up' "
+ << WSTRINGIFY(status.get()) << endl;
return EXIT_FAILURE;
}
}
http://git-wip-us.apache.org/repos/asf/mesos/blob/be8be3b8/src/tests/containerizer/perf_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/perf_tests.cpp b/src/tests/containerizer/perf_tests.cpp
index d8aab08..7176240 100644
--- a/src/tests/containerizer/perf_tests.cpp
+++ b/src/tests/containerizer/perf_tests.cpp
@@ -24,6 +24,7 @@
#include <process/gtest.hpp>
#include <stout/gtest.hpp>
+#include <stout/option.hpp>
#include <stout/os.hpp>
#include <stout/stringify.hpp>
@@ -137,7 +138,8 @@ TEST_F(PerfTest, Version)
// version, make sure we can parse it using the perf library.
// Note that on some systems, perf is a stub that asks you to
// install the right packages.
- if (WSUCCEEDED(os::spawn("perf", {"perf", "--version"}))) {
+ const Option<int> status = os::spawn("perf", {"perf", "--version"});
+ if (status.isSome() && WSUCCEEDED(status.get())) {
AWAIT_READY(perf::version());
}