diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-01-20 18:14:26 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-01-21 22:19:07 -0800 |
commit | d3fe50f16ebed2f82283a3ce20a407a895333872 (patch) | |
tree | 6640757fa6b0a14e8175cb0e074f66cc9a439a32 /pym/_emerge | |
parent | 85f7c8a735b7ce5945b1411cd1dc74a02ebd7b0d (diff) | |
download | portage-d3fe50f16ebed2f82283a3ce20a407a895333872.tar.gz portage-d3fe50f16ebed2f82283a3ce20a407a895333872.tar.bz2 portage-d3fe50f16ebed2f82283a3ce20a407a895333872.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')
-rw-r--r-- | pym/_emerge/SpawnProcess.py | 6 |
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 |