commit: b7f94fccf4163364ab7b4c4f0dcd42b8847f03e0
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun May 27 04:42:29 2018 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun May 27 04:42:29 2018 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=b7f94fcc
PiperReader._start: pass file to _array_output_handler
pym/_emerge/PipeReader.py | 17 ++++++-----------
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/pym/_emerge/PipeReader.py b/pym/_emerge/PipeReader.py
index fc3b7ca55..1aa5ee3bf 100644
--- a/pym/_emerge/PipeReader.py
+++ b/pym/_emerge/PipeReader.py
@@ -22,11 +22,6 @@ class PipeReader(AbstractPollTask):
def _start(self):
self._read_data = []
- if self._use_array:
- output_handler = self._array_output_handler
- else:
- output_handler = self._output_handler
-
for f in self.input_files.values():
fd = f if isinstance(f, int) else f.fileno()
fcntl.fcntl(fd, fcntl.F_SETFL,
@@ -42,7 +37,11 @@ class PipeReader(AbstractPollTask):
fcntl.fcntl(fd, fcntl.F_SETFD,
fcntl.fcntl(fd, fcntl.F_GETFD)
| fcntl.FD_CLOEXEC)
- self.scheduler.add_reader(fd, output_handler, fd)
+ if self._use_array:
+ self.scheduler.add_reader(fd,
self._array_output_handler, f)
+ else:
+ self.scheduler.add_reader(fd,
self._output_handler, fd)
+
self._registered = True
def _cancel(self):
@@ -72,11 +71,7 @@ class PipeReader(AbstractPollTask):
self._async_wait()
break
- def _array_output_handler(self, fd):
-
- for f in self.input_files.values():
- if f.fileno() == fd:
- break
+ def _array_output_handler(self, f):
while True:
data = self._read_array(f)