-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
from _emerge.SubProcess import SubProcess
else:
fd_pipes[0] = fd_pipes_orig[0]
- files.process = os.fdopen(master_fd, 'rb')
+ # WARNING: It is very important to use unbuffered mode here,
+ # in order to avoid issue 5380 with python3.
+ files.process = os.fdopen(master_fd, 'rb', 0)
if logfile is not None:
fd_pipes[1] = slave_fd
# The result is only valid if openpty does not raise EnvironmentError.
if _can_test_pty_eof():
try:
- self.assertEqual(_test_pty_eof(), True)
+ self.assertEqual(_test_pty_eof(fdopen_buffered=True), True)
except EnvironmentError:
pass
# The result is only valid if openpty does not raise EnvironmentError.
if _can_test_pty_eof():
try:
- self.assertEqual(_test_pty_eof(fdopen_buffered=False), True)
+ self.assertEqual(_test_pty_eof(), True)
except EnvironmentError:
pass
-# Copyright 2010 Gentoo Foundation
+# Copyright 2010-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
import array
"""
return platform.system() in ("Linux",)
-def _test_pty_eof(fdopen_buffered=True):
+def _test_pty_eof(fdopen_buffered=False):
"""
Returns True if this issues is fixed for the currently
running version of python: http://bugs.python.org/issue5380