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)

Reply via email to