summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/SpawnProcess.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-01-20 18:14:26 -0800
committerZac Medico <zmedico@gentoo.org>2011-01-20 18:14:26 -0800
commit1c0996eea7a39ef0357b5ece630c1bdf69680f71 (patch)
tree2e521d484509d9da3774ad663939e8b3276f6f54 /pym/_emerge/SpawnProcess.py
parentfc9fdba08b5ac46ffb8cdf34753624d6050d8052 (diff)
downloadportage-1c0996eea7a39ef0357b5ece630c1bdf69680f71.tar.gz
portage-1c0996eea7a39ef0357b5ece630c1bdf69680f71.tar.bz2
portage-1c0996eea7a39ef0357b5ece630c1bdf69680f71.zip
SpawnProcess: read proc with unbuffered fdopen
This enables pty support in python3, by using unbuffered fdopen to avoid http://bugs.python.org/issue5380.
Diffstat (limited to 'pym/_emerge/SpawnProcess.py')
-rw-r--r--pym/_emerge/SpawnProcess.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pym/_emerge/SpawnProcess.py b/pym/_emerge/SpawnProcess.py
index 0cddbe801..bc861e9c5 100644
--- a/pym/_emerge/SpawnProcess.py
+++ b/pym/_emerge/SpawnProcess.py
@@ -1,4 +1,4 @@
-# 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
@@ -72,7 +72,9 @@ class SpawnProcess(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