Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 459674 | Differences between
and this patch

Collapse All | Expand All

(-)a/pym/portage/util/_async/PipeLogger.py (-3 / +7 lines)
Lines 98-106 class PipeLogger(AbstractPollTask): Link Here
98
							stdout_buf = \
98
							stdout_buf = \
99
								stdout_buf[os.write(stdout_fd, stdout_buf):]
99
								stdout_buf[os.write(stdout_fd, stdout_buf):]
100
						except OSError as e:
100
						except OSError as e:
101
							if e.errno != errno.EAGAIN:
101
							if e.errno not in (errno.EAGAIN, errno.EIO):
102
								raise
102
								raise
103
							del e
104
							failures += 1
103
							failures += 1
105
							if failures > 50:
104
							if failures > 50:
106
								# Avoid a potentially infinite loop. In
105
								# Avoid a potentially infinite loop. In
Lines 108-113 class PipeLogger(AbstractPollTask): Link Here
108
								# and it's unlikely to exceed 1.
107
								# and it's unlikely to exceed 1.
109
								raise
108
								raise
110
109
110
							if e.errno != errno.EAGAIN:
111
								# For cases like bug #459674 where we receive
112
								# an unexpected EIO error on Linux, simply
113
								# retry until our failure limit is reached.
114
								continue
115
111
							# This means that a subprocess has put an inherited
116
							# This means that a subprocess has put an inherited
112
							# stdio file descriptor (typically stdin) into
117
							# stdio file descriptor (typically stdin) into
113
							# O_NONBLOCK mode. This is not acceptable (see bug
118
							# O_NONBLOCK mode. This is not acceptable (see bug
114
- 

Return to bug 459674