summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-07-12 08:43:29 +0000
committerZac Medico <zmedico@gentoo.org>2008-07-12 08:43:29 +0000
commit5f6d6bef1dec5667e6f7ec5eb3f0b3dfbfc93c83 (patch)
tree571afa1e4053f5f15920cc9b6d46238e50eca4f1 /pym/_emerge
parent529a4762cfd8b650b8567be2f1423926d6cbaf9e (diff)
downloadportage-5f6d6bef1dec5667e6f7ec5eb3f0b3dfbfc93c83.tar.gz
portage-5f6d6bef1dec5667e6f7ec5eb3f0b3dfbfc93c83.tar.bz2
portage-5f6d6bef1dec5667e6f7ec5eb3f0b3dfbfc93c83.zip
Split out a portage._create_pty_or_pipe() function to avoid duplicate code.
svn path=/main/trunk/; revision=11024
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/__init__.py27
1 files changed, 2 insertions, 25 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index b111157ea..a282278c9 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -2533,35 +2533,12 @@ class EbuildPhase(SubProcess):
settings.get("EBUILD_EXIT_STATUS_FILE"))
if logfile:
- if portage._disable_openpty:
- master_fd, slave_fd = os.pipe()
- else:
- from pty import openpty
- try:
- master_fd, slave_fd = openpty()
- got_pty = True
- except EnvironmentError, e:
- portage._disable_openpty = True
- portage.writemsg("openpty failed: '%s'\n" % str(e),
- noiselevel=-1)
- del e
- master_fd, slave_fd = os.pipe()
-
- if got_pty:
- # Disable post-processing of output since otherwise weird
- # things like \n -> \r\n transformations may occur.
- import termios
- mode = termios.tcgetattr(slave_fd)
- mode[1] &= ~termios.OPOST
- termios.tcsetattr(slave_fd, termios.TCSANOW, mode)
+ got_pty, master_fd, slave_fd = \
+ portage._create_pty_or_pipe(copy_term_size=fd_pipes_orig[1])
fcntl.fcntl(master_fd, fcntl.F_SETFL,
fcntl.fcntl(master_fd, fcntl.F_GETFL) | os.O_NONBLOCK)
- if got_pty and os.isatty(fd_pipes_orig[1]):
- from portage.output import get_term_size, set_term_size
- rows, columns = get_term_size()
- set_term_size(rows, columns, slave_fd)
fd_pipes[0] = fd_pipes_orig[0]
fd_pipes[1] = slave_fd
fd_pipes[2] = slave_fd