summaryrefslogtreecommitdiffstats
path: root/pym/portage/util
diff options
context:
space:
mode:
Diffstat (limited to 'pym/portage/util')
-rw-r--r--pym/portage/util/_async/PipeLogger.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/pym/portage/util/_async/PipeLogger.py b/pym/portage/util/_async/PipeLogger.py
index 376ebfef7..5464879ff 100644
--- a/pym/portage/util/_async/PipeLogger.py
+++ b/pym/portage/util/_async/PipeLogger.py
@@ -86,14 +86,12 @@ class PipeLogger(AbstractPollTask):
else:
if not background and stdout_fd is not None:
- write_successful = False
failures = 0
- while True:
+ stdout_buf = buf
+ while stdout_buf:
try:
- if not write_successful:
- os.write(stdout_fd, buf)
- write_successful = True
- break
+ stdout_buf = \
+ stdout_buf[os.write(stdout_fd, stdout_buf):]
except OSError as e:
if e.errno != errno.EAGAIN:
raise