Repository: mesos
Updated Branches:
  refs/heads/master ef78de1d9 -> 2c17e5642


Do not retry close on EINTR.

See: https://issues.apache.org/jira/browse/MESOS-3512

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


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

Branch: refs/heads/master
Commit: c76a35c71d4e252f4d727ac1c94b2f1b8ec3985a
Parents: ef78de1
Author: Benjamin Mahler <[email protected]>
Authored: Thu Sep 24 12:37:38 2015 -0700
Committer: Benjamin Mahler <[email protected]>
Committed: Thu Sep 24 14:47:39 2015 -0700

----------------------------------------------------------------------
 3rdparty/libprocess/src/subprocess.cpp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mesos/blob/c76a35c7/3rdparty/libprocess/src/subprocess.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/subprocess.cpp 
b/3rdparty/libprocess/src/subprocess.cpp
index d6ea62e..5ff7848 100644
--- a/3rdparty/libprocess/src/subprocess.cpp
+++ b/3rdparty/libprocess/src/subprocess.cpp
@@ -130,13 +130,13 @@ static int childMain(
 {
   // Close parent's end of the pipes.
   if (in.isPipe()) {
-    while (::close(stdinFd[1]) == -1 && errno == EINTR);
+    ::close(stdinFd[1]);
   }
   if (out.isPipe()) {
-    while (::close(stdoutFd[0]) == -1 && errno == EINTR);
+    ::close(stdoutFd[0]);
   }
   if (err.isPipe()) {
-    while (::close(stderrFd[0]) == -1 && errno == EINTR);
+    ::close(stderrFd[0]);
   }
 
   // Redirect I/O for stdin/stdout/stderr.
@@ -152,17 +152,17 @@ static int childMain(
   if (stdinFd[0] != STDIN_FILENO &&
       stdinFd[0] != STDOUT_FILENO &&
       stdinFd[0] != STDERR_FILENO) {
-    while (::close(stdinFd[0]) == -1 && errno == EINTR);
+    ::close(stdinFd[0]);
   }
   if (stdoutFd[1] != STDIN_FILENO &&
       stdoutFd[1] != STDOUT_FILENO &&
       stdoutFd[1] != STDERR_FILENO) {
-    while (::close(stdoutFd[1]) == -1 && errno == EINTR);
+    ::close(stdoutFd[1]);
   }
   if (stderrFd[1] != STDIN_FILENO &&
       stderrFd[1] != STDOUT_FILENO &&
       stderrFd[1] != STDERR_FILENO) {
-    while (::close(stderrFd[1]) == -1 && errno == EINTR);
+    ::close(stderrFd[1]);
   }
 
   if (setup.isSome()) {

Reply via email to