Used ChildHooks in Mesos [2/2].

We now use the new ChildHooks instead of explicit options such
as setsid.

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


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

Branch: refs/heads/master
Commit: 059f47bfe82c2c589cefbf0bcab131697cb0d9f9
Parents: 5ce0e46
Author: Joerg Schad <jo...@mesosphere.io>
Authored: Wed Sep 21 09:50:19 2016 -0700
Committer: Jie Yu <yujie....@gmail.com>
Committed: Wed Sep 21 09:50:19 2016 -0700

----------------------------------------------------------------------
 src/docker/docker.cpp                                    |  3 ---
 src/health-check/health_checker.cpp                      |  5 -----
 src/launcher/posix/executor.cpp                          |  8 +++++---
 src/linux/perf.cpp                                       |  3 +--
 src/slave/container_loggers/lib_logrotate.cpp            |  2 --
 src/slave/containerizer/docker.cpp                       |  4 ++--
 src/slave/containerizer/fetcher.cpp                      |  1 -
 .../mesos/isolators/docker/volume/driver.cpp             | 11 ++++-------
 .../containerizer/mesos/isolators/network/cni/cni.cpp    |  4 ----
 .../mesos/isolators/network/port_mapping.cpp             |  2 --
 src/slave/containerizer/mesos/isolators/posix/disk.cpp   |  4 +---
 src/slave/containerizer/mesos/launcher.cpp               |  4 ++--
 src/slave/containerizer/mesos/linux_launcher.cpp         |  4 ++--
 src/tests/containerizer/capabilities_tests.cpp           |  2 --
 src/tests/containerizer/launch_tests.cpp                 |  1 -
 src/tests/containerizer/ns_tests.cpp                     |  1 -
 src/tests/containerizer/port_mapping_tests.cpp           |  1 -
 17 files changed, 17 insertions(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/docker/docker.cpp
----------------------------------------------------------------------
diff --git a/src/docker/docker.cpp b/src/docker/docker.cpp
index 49a1b2f..7c38123 100755
--- a/src/docker/docker.cpp
+++ b/src/docker/docker.cpp
@@ -822,7 +822,6 @@ Future<Option<int>> Docker::run(
       Subprocess::PATH("/dev/null"),
       _stdout,
       _stderr,
-      NO_SETSID,
       nullptr,
       environment);
 
@@ -1266,7 +1265,6 @@ Future<Docker::Image> Docker::pull(
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr);
 
   if (s.isError()) {
@@ -1393,7 +1391,6 @@ Future<Docker::Image> Docker::__pull(
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr,
       environment);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/health-check/health_checker.cpp
----------------------------------------------------------------------
diff --git a/src/health-check/health_checker.cpp 
b/src/health-check/health_checker.cpp
index 8beb99c..758cbb3 100644
--- a/src/health-check/health_checker.cpp
+++ b/src/health-check/health_checker.cpp
@@ -55,7 +55,6 @@ using process::delay;
 using process::Clock;
 using process::Failure;
 using process::Future;
-using process::NO_SETSID;
 using process::Owned;
 using process::Promise;
 using process::Subprocess;
@@ -311,7 +310,6 @@ Future<Nothing> HealthCheckerProcess::_commandHealthCheck()
         Subprocess::PATH("/dev/null"),
         Subprocess::FD(STDERR_FILENO),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         environment,
         clone);
   } else {
@@ -330,7 +328,6 @@ Future<Nothing> HealthCheckerProcess::_commandHealthCheck()
         Subprocess::PATH("/dev/null"),
         Subprocess::FD(STDERR_FILENO),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         nullptr,
         environment,
         clone);
@@ -404,7 +401,6 @@ Future<Nothing> HealthCheckerProcess::_httpHealthCheck()
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr,
       None(),
       clone);
@@ -516,7 +512,6 @@ Future<Nothing> HealthCheckerProcess::_tcpHealthCheck()
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr,
       None(),
       clone);

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/launcher/posix/executor.cpp
----------------------------------------------------------------------
diff --git a/src/launcher/posix/executor.cpp b/src/launcher/posix/executor.cpp
index 7c40ebe..a606b13 100644
--- a/src/launcher/posix/executor.cpp
+++ b/src/launcher/posix/executor.cpp
@@ -37,7 +37,6 @@
 namespace fs = mesos::internal::fs;
 #endif
 
-using process::SETSID;
 using process::Subprocess;
 
 using std::cout;
@@ -115,8 +114,11 @@ pid_t launchTaskPosix(
       Subprocess::FD(STDIN_FILENO),
       Subprocess::FD(STDOUT_FILENO),
       Subprocess::FD(STDERR_FILENO),
-      SETSID,
-      &launchFlags);
+      &launchFlags,
+      None(),
+      None(),
+      Subprocess::Hook::None(),
+      {Subprocess::ChildHook::SETSID()});
 
   if (s.isError()) {
     ABORT("Failed to launch '" + commandString + "': " + s.error());

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/linux/perf.cpp
----------------------------------------------------------------------
diff --git a/src/linux/perf.cpp b/src/linux/perf.cpp
index 16a30ea..d5fa3ff 100644
--- a/src/linux/perf.cpp
+++ b/src/linux/perf.cpp
@@ -132,12 +132,11 @@ private:
         Subprocess::PIPE(),
         Subprocess::PIPE(),
         Subprocess::PIPE(),
-        NO_SETSID,
         nullptr,
         None(),
         None(),
         Subprocess::Hook::None(),
-        None(),
+        Subprocess::ChildHook::None(),
         MONITOR);
 
     if (_perf.isError()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/container_loggers/lib_logrotate.cpp
----------------------------------------------------------------------
diff --git a/src/slave/container_loggers/lib_logrotate.cpp 
b/src/slave/container_loggers/lib_logrotate.cpp
index 1c170e5..e975ad8 100644
--- a/src/slave/container_loggers/lib_logrotate.cpp
+++ b/src/slave/container_loggers/lib_logrotate.cpp
@@ -189,7 +189,6 @@ public:
         Subprocess::FD(outfds.read, Subprocess::IO::OWNED),
         Subprocess::PATH("/dev/null"),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         &outFlags,
         environment,
         None(),
@@ -236,7 +235,6 @@ public:
         Subprocess::FD(errfds.read, Subprocess::IO::OWNED),
         Subprocess::PATH("/dev/null"),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         &errFlags,
         environment,
         None(),

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/docker.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/docker.cpp 
b/src/slave/containerizer/docker.cpp
index a47e2ed..ac4a019 100644
--- a/src/slave/containerizer/docker.cpp
+++ b/src/slave/containerizer/docker.cpp
@@ -1331,12 +1331,12 @@ Future<pid_t> 
DockerContainerizerProcess::launchExecutorProcess(
         Subprocess::PIPE(),
         subprocessInfo.out,
         subprocessInfo.err,
-        SETSID,
         &launchFlags,
         environment,
         None(),
         parentHooks,
-        container->directory);
+        {Subprocess::ChildHook::SETSID(),
+         Subprocess::ChildHook::CHDIR(container->directory)});
 
     if (s.isError()) {
       return Failure("Failed to fork executor: " + s.error());

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/fetcher.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/fetcher.cpp 
b/src/slave/containerizer/fetcher.cpp
index 4d3fc52..11104d6 100644
--- a/src/slave/containerizer/fetcher.cpp
+++ b/src/slave/containerizer/fetcher.cpp
@@ -826,7 +826,6 @@ Future<Nothing> FetcherProcess::run(
       Subprocess::PIPE(),
       Subprocess::FD(out.get(), Subprocess::IO::OWNED),
       Subprocess::FD(err.get(), Subprocess::IO::OWNED),
-      NO_SETSID,
       environment);
 
   if (fetcherSubprocess.isError()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp 
b/src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp
index 2b2c6cf..4d10913 100644
--- a/src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp
+++ b/src/slave/containerizer/mesos/isolators/docker/volume/driver.cpp
@@ -37,7 +37,6 @@ using std::vector;
 using process::Failure;
 using process::Future;
 using process::MONITOR;
-using process::NO_SETSID;
 using process::Owned;
 using process::Subprocess;
 
@@ -90,12 +89,11 @@ Future<string> DriverClient::mount(
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr,
       None(),
       None(),
-      {},
-      None(),
+      Subprocess::Hook::None(),
+      Subprocess::ChildHook::None(),
       MONITOR);
 
   if (s.isError()) {
@@ -176,12 +174,11 @@ Future<Nothing> DriverClient::unmount(
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::PIPE(),
-      NO_SETSID,
       nullptr,
       None(),
       None(),
-      {},
-      None(),
+      Subprocess::Hook::None(),
+      Subprocess::ChildHook::None(),
       MONITOR);
 
   if (s.isError()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/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 3594790..2cd8911 100644
--- a/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
+++ b/src/slave/containerizer/mesos/isolators/network/cni/cni.cpp
@@ -48,7 +48,6 @@ using std::vector;
 
 using process::Failure;
 using process::Future;
-using process::NO_SETSID;
 using process::Owned;
 using process::PID;
 using process::Subprocess;
@@ -876,7 +875,6 @@ Future<Nothing> NetworkCniIsolatorProcess::__isolate(
       Subprocess::PATH("/dev/null"),
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
-      NO_SETSID,
       &setup.flags);
 
   if (s.isError()) {
@@ -1038,7 +1036,6 @@ Future<Nothing> NetworkCniIsolatorProcess::attach(
       Subprocess::PATH(networkConfigPath),
       Subprocess::PIPE(),
       Subprocess::PATH("/dev/null"),
-      NO_SETSID,
       nullptr,
       environment);
 
@@ -1336,7 +1333,6 @@ Future<Nothing> NetworkCniIsolatorProcess::detach(
       Subprocess::PATH(networkConfigPath),
       Subprocess::PIPE(),
       Subprocess::PATH("/dev/null"),
-      NO_SETSID,
       nullptr,
       environment);
 

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp 
b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
index 55a06cf..01355a1 100644
--- a/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
+++ b/src/slave/containerizer/mesos/isolators/network/port_mapping.cpp
@@ -3081,7 +3081,6 @@ Future<Nothing> PortMappingIsolatorProcess::update(
       Subprocess::PATH("/dev/null"),
       Subprocess::FD(STDOUT_FILENO),
       Subprocess::FD(STDERR_FILENO),
-      NO_SETSID,
       &update.flags);
 
   if (s.isError()) {
@@ -3208,7 +3207,6 @@ Future<ResourceStatistics> 
PortMappingIsolatorProcess::usage(
       Subprocess::PATH("/dev/null"),
       Subprocess::PIPE(),
       Subprocess::FD(STDERR_FILENO),
-      NO_SETSID,
       &statistics.flags);
 
   if (s.isError()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/mesos/isolators/posix/disk.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/isolators/posix/disk.cpp 
b/src/slave/containerizer/mesos/isolators/posix/disk.cpp
index 3f49b9f..5c5f7a3 100644
--- a/src/slave/containerizer/mesos/isolators/posix/disk.cpp
+++ b/src/slave/containerizer/mesos/isolators/posix/disk.cpp
@@ -59,7 +59,6 @@ using std::vector;
 using process::Failure;
 using process::Future;
 using process::MONITOR;
-using process::NO_SETSID;
 using process::Owned;
 using process::PID;
 using process::Process;
@@ -547,12 +546,11 @@ private:
         Subprocess::PATH("/dev/null"),
         Subprocess::PIPE(),
         Subprocess::PIPE(),
-        NO_SETSID,
         nullptr,
         None(),
         None(),
         Subprocess::Hook::None(),
-        None(),
+        Subprocess::ChildHook::None(),
         MONITOR);
 
     if (s.isError()) {

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/mesos/launcher.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/launcher.cpp 
b/src/slave/containerizer/mesos/launcher.cpp
index 73a0e5f..7e4df3f 100644
--- a/src/slave/containerizer/mesos/launcher.cpp
+++ b/src/slave/containerizer/mesos/launcher.cpp
@@ -139,11 +139,11 @@ Try<pid_t> PosixLauncher::fork(
       in,
       out,
       err,
-      SETSID,
       flags,
       environment,
       None(),
-      parentHooks);
+      parentHooks,
+      {Subprocess::ChildHook::SETSID()});
 
   if (child.isError()) {
     return Error("Failed to fork a child process: " + child.error());

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/slave/containerizer/mesos/linux_launcher.cpp
----------------------------------------------------------------------
diff --git a/src/slave/containerizer/mesos/linux_launcher.cpp 
b/src/slave/containerizer/mesos/linux_launcher.cpp
index 1c49f56..d3d09f2 100644
--- a/src/slave/containerizer/mesos/linux_launcher.cpp
+++ b/src/slave/containerizer/mesos/linux_launcher.cpp
@@ -304,11 +304,11 @@ Try<pid_t> LinuxLauncher::fork(
       in,
       out,
       err,
-      SETSID,
       flags,
       environment,
       lambda::bind(&os::clone, lambda::_1, cloneFlags),
-      parentHooks);
+      parentHooks,
+      {Subprocess::ChildHook::SETSID()});
 
   if (child.isError()) {
     return Error("Failed to clone child process: " + child.error());

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/tests/containerizer/capabilities_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/capabilities_tests.cpp 
b/src/tests/containerizer/capabilities_tests.cpp
index 215b1c1..6fe5d54 100644
--- a/src/tests/containerizer/capabilities_tests.cpp
+++ b/src/tests/containerizer/capabilities_tests.cpp
@@ -38,7 +38,6 @@ using std::string;
 using std::vector;
 
 using process::Future;
-using process::NO_SETSID;
 using process::Subprocess;
 
 using mesos::internal::capabilities::Capabilities;
@@ -76,7 +75,6 @@ public:
         Subprocess::FD(STDIN_FILENO),
         Subprocess::FD(STDOUT_FILENO),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         &helper.flags);
   }
 };

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/tests/containerizer/launch_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/launch_tests.cpp 
b/src/tests/containerizer/launch_tests.cpp
index 76d71b3..81790a1 100644
--- a/src/tests/containerizer/launch_tests.cpp
+++ b/src/tests/containerizer/launch_tests.cpp
@@ -78,7 +78,6 @@ public:
         Subprocess::PATH("/dev/null"),
         Subprocess::FD(STDOUT_FILENO),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         &launchFlags,
         None(),
         lambda::bind(&os::clone, lambda::_1, CLONE_NEWNS | SIGCHLD));

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/tests/containerizer/ns_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/ns_tests.cpp 
b/src/tests/containerizer/ns_tests.cpp
index e52ebbe..6aa5ade 100644
--- a/src/tests/containerizer/ns_tests.cpp
+++ b/src/tests/containerizer/ns_tests.cpp
@@ -87,7 +87,6 @@ TEST(NsTest, ROOT_setns)
       Subprocess::FD(STDIN_FILENO),
       Subprocess::FD(STDOUT_FILENO),
       Subprocess::FD(STDERR_FILENO),
-      NO_SETSID,
       nullptr,
       None(),
       lambda::bind(&os::clone, lambda::_1, flags | SIGCHLD));

http://git-wip-us.apache.org/repos/asf/mesos/blob/059f47bf/src/tests/containerizer/port_mapping_tests.cpp
----------------------------------------------------------------------
diff --git a/src/tests/containerizer/port_mapping_tests.cpp 
b/src/tests/containerizer/port_mapping_tests.cpp
index 7fac6ca..ab8db58 100644
--- a/src/tests/containerizer/port_mapping_tests.cpp
+++ b/src/tests/containerizer/port_mapping_tests.cpp
@@ -378,7 +378,6 @@ protected:
         Subprocess::PATH("/dev/null"),
         Subprocess::PIPE(),
         Subprocess::FD(STDERR_FILENO),
-        NO_SETSID,
         &statistics.flags);
 
     CHECK_SOME(s);

Reply via email to