From 1c0996eea7a39ef0357b5ece630c1bdf69680f71 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 20 Jan 2011 18:14:26 -0800 Subject: SpawnProcess: read proc with unbuffered fdopen This enables pty support in python3, by using unbuffered fdopen to avoid http://bugs.python.org/issue5380. --- pym/_emerge/SpawnProcess.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'pym/_emerge/SpawnProcess.py') 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 -- cgit v1.2.3-1-g7c22