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/12/05 05:42:41 UTC

[9/9] mesos git commit: Added a DUP2 child hook to Subprocess.

Added a DUP2 child hook to Subprocess.

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


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

Branch: refs/heads/master
Commit: d6bc482ac40063a5b37f672b2591a07d3ebc3c4d
Parents: f035082
Author: Jie Yu <yu...@gmail.com>
Authored: Sun Dec 4 13:14:59 2016 -0800
Committer: Jie Yu <yu...@gmail.com>
Committed: Sun Dec 4 21:41:51 2016 -0800

----------------------------------------------------------------------
 3rdparty/libprocess/include/process/subprocess_base.hpp |  7 +++++++
 3rdparty/libprocess/src/subprocess.cpp                  | 10 ++++++++++
 2 files changed, 17 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/d6bc482a/3rdparty/libprocess/include/process/subprocess_base.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/subprocess_base.hpp b/3rdparty/libprocess/include/process/subprocess_base.hpp
index 1d02454..0d9c74a 100644
--- a/3rdparty/libprocess/include/process/subprocess_base.hpp
+++ b/3rdparty/libprocess/include/process/subprocess_base.hpp
@@ -199,6 +199,13 @@ public:
      */
     static ChildHook SETSID();
 
+#ifndef __WINDOWS__
+    /**
+     * `ChildHook` for duplicating a file descriptor.
+     */
+    static ChildHook DUP2(int oldFd, int newFd);
+#endif // __WINDOWS__
+
     /**
      * `ChildHook` for starting a Supervisor process monitoring
      *  and killing the child process if the parent process terminates.

http://git-wip-us.apache.org/repos/asf/mesos/blob/d6bc482a/3rdparty/libprocess/src/subprocess.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/subprocess.cpp b/3rdparty/libprocess/src/subprocess.cpp
index 284e22e..b3efb9c 100644
--- a/3rdparty/libprocess/src/subprocess.cpp
+++ b/3rdparty/libprocess/src/subprocess.cpp
@@ -91,6 +91,16 @@ Subprocess::ChildHook Subprocess::ChildHook::SETSID()
 }
 
 
+#ifndef __WINDOWS__
+Subprocess::ChildHook Subprocess::ChildHook::DUP2(int oldFd, int newFd)
+{
+  return Subprocess::ChildHook([oldFd, newFd]() -> Try<Nothing> {
+    return os::dup2(oldFd, newFd);
+  });
+}
+#endif // __WINDOWS__
+
+
 #ifdef __linux__
 inline void signalHandler(int signal)
 {