return [pid]
# TODO: Find out why PyPy 1.8 with close_fds=True triggers
- # "[Errno 9] Bad file descriptor" in subprocesses.
+ # "[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)
os.close(elog_reader_fd)
# TODO: Find out why PyPy 1.8 with close_fds=True triggers
- # "[Errno 9] Bad file descriptor" in subprocesses.
+ # "[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)