diff options
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/EbuildFetcher.py | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index f6dab5471..c0a7fddaa 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -1,4 +1,4 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 import traceback @@ -6,7 +6,6 @@ import traceback from _emerge.SpawnProcess import SpawnProcess import copy import io -import platform import signal import sys import portage @@ -170,14 +169,9 @@ class EbuildFetcher(SpawnProcess): portage.process.spawned_pids.append(pid) return [pid] - # TODO: Find out why PyPy 1.8 with close_fds=True triggers - # "[Errno 9] Bad file descriptor" in subprocesses. It could - # be due to garbage collection of file objects that were not - # closed before going out of scope, since PyPy's garbage - # collector does not support the refcounting semantics that - # CPython does. - close_fds = platform.python_implementation() != 'PyPy' - portage.process._setup_pipes(fd_pipes, close_fds=close_fds) + portage.locks._close_fds() + # Disable close_fds since we don't exec (see _setup_pipes docstring). + portage.process._setup_pipes(fd_pipes, close_fds=False) # Use default signal handlers in order to avoid problems # killing subprocesses as reported in bug #353239. |