summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/AsynchronousLock.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-12-01 22:14:13 -0800
committerZac Medico <zmedico@gentoo.org>2011-12-01 22:14:13 -0800
commitc6c71eefb9532af0d4505de70e58f45ad8e8fe0a (patch)
treef157124695ebd1a818c5ce3ed07fc343ff827a35 /pym/_emerge/AsynchronousLock.py
parentcaea9ee807eba03118564030a166f9856d4439de (diff)
downloadportage-c6c71eefb9532af0d4505de70e58f45ad8e8fe0a.tar.gz
portage-c6c71eefb9532af0d4505de70e58f45ad8e8fe0a.tar.bz2
portage-c6c71eefb9532af0d4505de70e58f45ad8e8fe0a.zip
Handle OSError from os.read and loop if needed.
Looping fixes EbuildMetadataPhase failures for ebuilds that produce more than 4096 bytes of metadata, broken since commit b432a1b3051d91546649e8f3190675767461d8e8.
Diffstat (limited to 'pym/_emerge/AsynchronousLock.py')
-rw-r--r--pym/_emerge/AsynchronousLock.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/pym/_emerge/AsynchronousLock.py b/pym/_emerge/AsynchronousLock.py
index 39e36c880..9d0545beb 100644
--- a/pym/_emerge/AsynchronousLock.py
+++ b/pym/_emerge/AsynchronousLock.py
@@ -138,7 +138,7 @@ class _LockThread(AbstractPollTask):
if event & PollConstants.POLLIN:
try:
buf = os.read(self._files['pipe_read'], self._bufsize)
- except IOError as e:
+ except OSError as e:
if e.errno not in (errno.EAGAIN,):
raise
if buf:
@@ -274,7 +274,7 @@ class _LockProcess(AbstractPollTask):
if event & PollConstants.POLLIN:
try:
buf = os.read(self._files['pipe_in'], self._bufsize)
- except IOError as e:
+ except OSError as e:
if e.errno not in (errno.EAGAIN,):
raise
if buf: