summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2017-01-13 16:04:43 (GMT)
committerGitHub <noreply@github.com>2017-01-13 16:04:43 (GMT)
commit9e71431e6f8323be8ced8997409cfe7a389c6583 (patch)
treec10059f621c47af4b26b27060dbd54a196b3cf5d
parenta36f96c0a5ae3b204065ac8560410104cefcfa2f (diff)
parentdd2b587e289603127f30ea296e7751e4cf90fe7d (diff)
downloadNinja-9e71431e6f8323be8ced8997409cfe7a389c6583.zip
Ninja-9e71431e6f8323be8ced8997409cfe7a389c6583.tar.gz
Ninja-9e71431e6f8323be8ced8997409cfe7a389c6583.tar.bz2
Merge pull request #1226 from colincross/close-fds
Close original pipe fd in subprocesses
-rw-r--r--src/subprocess-posix.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/subprocess-posix.cc b/src/subprocess-posix.cc
index f1f94e5..1de22c3 100644
--- a/src/subprocess-posix.cc
+++ b/src/subprocess-posix.cc
@@ -88,6 +88,8 @@ bool Subprocess::Start(SubprocessSet* set, const string& command) {
Fatal("posix_spawn_file_actions_adddup2: %s", strerror(errno));
if (posix_spawn_file_actions_adddup2(&action, output_pipe[1], 2) != 0)
Fatal("posix_spawn_file_actions_adddup2: %s", strerror(errno));
+ if (posix_spawn_file_actions_addclose(&action, output_pipe[1]) != 0)
+ Fatal("posix_spawn_file_actions_addclose: %s", strerror(errno));
// In the console case, output_pipe is still inherited by the child and
// closed when the subprocess finishes, which then notifies ninja.
}