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/04/19 00:24:00 UTC

mesos git commit: Changed call from `os::shell()` to `os::system()`.

Repository: mesos
Updated Branches:
  refs/heads/master ca21ca820 -> 896aee76c


Changed call from `os::shell()` to `os::system()`.

The function `os::shell` is not implemented on Windows, making it
necessary to either hide all calls behind a preprocessor macro or to
avoid the function. Since we don't need the output of the child
process, we just switch to `os::system`.

Also, we included the missing header `<stout/os/write.hpp>`.

Review: https://reviews.apache.org/r/66700/


Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/896aee76
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/896aee76
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/896aee76

Branch: refs/heads/master
Commit: 896aee76c7b15db89feee511c2a67d5f7ce7535d
Parents: ca21ca8
Author: Benno Evers <be...@mesosphere.com>
Authored: Wed Apr 18 16:21:49 2018 -0700
Committer: Andrew Schwartzmeyer <an...@schwartzmeyer.com>
Committed: Wed Apr 18 17:21:47 2018 -0700

----------------------------------------------------------------------
 3rdparty/libprocess/src/memory_profiler.cpp | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/896aee76/3rdparty/libprocess/src/memory_profiler.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/memory_profiler.cpp b/3rdparty/libprocess/src/memory_profiler.cpp
index b2174ba..5d6e9dc 100644
--- a/3rdparty/libprocess/src/memory_profiler.cpp
+++ b/3rdparty/libprocess/src/memory_profiler.cpp
@@ -29,6 +29,8 @@
 #include <stout/os.hpp>
 #include <stout/path.hpp>
 
+#include <stout/os/write.hpp>
+
 #include <glog/logging.h>
 
 using process::Future;
@@ -307,22 +309,23 @@ Try<Nothing> generateJeprofFile(
     const string& outputPath)
 {
   // As jeprof doesn't have an option to specify an output file, we actually
-  // need `os::shell()` here instead of `os::spawn()`.
+  // cannot use `os::spawn()` here.
   // Note that the three parameters *MUST NOT* be controllable by the user
   // accessing the HTTP endpoints, otherwise arbitrary shell commands could be
   // trivially injected.
   // Apart from that, we dont need to be as careful here as with the actual
   // heap profile dump, because a failure will not crash the whole process.
-  Try<string> result = os::shell(strings::format(
+  Option<int> result = os::system(strings::format(
       "jeprof %s /proc/self/exe %s > %s",
       options,
       inputPath,
       outputPath).get());
 
-  if (result.isError()) {
+  if (result.isNone()) {
     return Error(
-      "Error trying to run jeprof: " + result.error() + ". Please make sure"
-      " that jeprof is installed and that the input file contains data");
+      "Error trying to run jeprof. Please make sure that jeprof is installed"
+      " and that the input file contains data. For more information, please"
+      " consult the log files of this process");
   }
 
   return Nothing();