From 2a05612d23561d4606e93e73a8e021dc91291ff6 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Mon, 7 Jan 2013 18:08:40 -0800 Subject: SpawnProcess: stdout_fd FD_CLOEXEC --- pym/_emerge/SpawnProcess.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py index 293e5be8c..f226dcb8f 100644 --- a/pym/_emerge/SpawnProcess.py +++ b/pym/_emerge/SpawnProcess.py @@ -1,6 +1,12 @@ # Copyright 2008-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 +try: + import fcntl +except ImportError: + # http://bugs.jython.org/issue1074 + fcntl = None + from _emerge.SubProcess import SubProcess import sys import portage @@ -105,6 +111,15 @@ class SpawnProcess(SubProcess): stdout_fd = None if can_log and not self.background: stdout_fd = os.dup(fd_pipes_orig[1]) + if fcntl is not None: + try: + fcntl.FD_CLOEXEC + except AttributeError: + pass + else: + fcntl.fcntl(stdout_fd, fcntl.F_SETFL, + fcntl.fcntl(stdout_fd, + fcntl.F_GETFL) | fcntl.FD_CLOEXEC) self._pipe_logger = PipeLogger(background=self.background, scheduler=self.scheduler, input_fd=master_fd, -- cgit v1.2.3-1-g7c22