summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildFetcher.py
diff options
context:
space:
mode:
Diffstat (limited to 'pym/_emerge/EbuildFetcher.py')
-rw-r--r--pym/_emerge/EbuildFetcher.py14
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.