diff options
author | Fabian Groffen <grobian@gentoo.org> | 2009-10-07 19:23:16 +0000 |
---|---|---|
committer | Fabian Groffen <grobian@gentoo.org> | 2009-10-07 19:23:16 +0000 |
commit | b29ca883b3352d25e6c3772f2f23eab74f7ffd82 (patch) | |
tree | aa7c6d47599a715e60be877a34e6bf0e51af9cee | |
parent | bbfed263f01a7cf6bccc6c2f943058ff8ea334b1 (diff) | |
download | portage-b29ca883b3352d25e6c3772f2f23eab74f7ffd82.tar.gz portage-b29ca883b3352d25e6c3772f2f23eab74f7ffd82.tar.bz2 portage-b29ca883b3352d25e6c3772f2f23eab74f7ffd82.zip |
merge disable openpty conditional from branches/prefix
svn path=/main/trunk/; revision=14515
-rw-r--r-- | pym/portage/__init__.py | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 8969db3e0..c2acfc451 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -3852,7 +3852,21 @@ def _test_pty_eof(): # In some cases, openpty can be slow when it fails. Therefore, # stop trying to use it after the first failure. -_disable_openpty = False +if platform.system() not in ["Linux"]: + # Disable the use of openpty on Solaris as it seems Python's openpty + # implementation doesn't play nice on Solaris with Portage's + # behaviour causing hangs/deadlocks. + # Disable on Darwin also, it used to work fine, but since the + # introduction of _test_pty_eof Portage hangs (on the + # slave_file.close()) indicating some other problems with openpty on + # Darwin there + # On AIX, haubi reported that the openpty code doesn't work any + # longer since the introduction of _test_pty_eof either. + # Looks like Python's openpty module is too fragile to use on UNIX, + # so only use it on Linux + _disable_openpty = True +else: + _disable_openpty = False _tested_pty = False def _create_pty_or_pipe(copy_term_size=None): |