1 |
commit: b7f94fccf4163364ab7b4c4f0dcd42b8847f03e0 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun May 27 04:42:29 2018 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun May 27 04:42:29 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=b7f94fcc |
7 |
|
8 |
PiperReader._start: pass file to _array_output_handler |
9 |
|
10 |
pym/_emerge/PipeReader.py | 17 ++++++----------- |
11 |
1 file changed, 6 insertions(+), 11 deletions(-) |
12 |
|
13 |
diff --git a/pym/_emerge/PipeReader.py b/pym/_emerge/PipeReader.py |
14 |
index fc3b7ca55..1aa5ee3bf 100644 |
15 |
--- a/pym/_emerge/PipeReader.py |
16 |
+++ b/pym/_emerge/PipeReader.py |
17 |
@@ -22,11 +22,6 @@ class PipeReader(AbstractPollTask): |
18 |
def _start(self): |
19 |
self._read_data = [] |
20 |
|
21 |
- if self._use_array: |
22 |
- output_handler = self._array_output_handler |
23 |
- else: |
24 |
- output_handler = self._output_handler |
25 |
- |
26 |
for f in self.input_files.values(): |
27 |
fd = f if isinstance(f, int) else f.fileno() |
28 |
fcntl.fcntl(fd, fcntl.F_SETFL, |
29 |
@@ -42,7 +37,11 @@ class PipeReader(AbstractPollTask): |
30 |
fcntl.fcntl(fd, fcntl.F_SETFD, |
31 |
fcntl.fcntl(fd, fcntl.F_GETFD) | fcntl.FD_CLOEXEC) |
32 |
|
33 |
- self.scheduler.add_reader(fd, output_handler, fd) |
34 |
+ if self._use_array: |
35 |
+ self.scheduler.add_reader(fd, self._array_output_handler, f) |
36 |
+ else: |
37 |
+ self.scheduler.add_reader(fd, self._output_handler, fd) |
38 |
+ |
39 |
self._registered = True |
40 |
|
41 |
def _cancel(self): |
42 |
@@ -72,11 +71,7 @@ class PipeReader(AbstractPollTask): |
43 |
self._async_wait() |
44 |
break |
45 |
|
46 |
- def _array_output_handler(self, fd): |
47 |
- |
48 |
- for f in self.input_files.values(): |
49 |
- if f.fileno() == fd: |
50 |
- break |
51 |
+ def _array_output_handler(self, f): |
52 |
|
53 |
while True: |
54 |
data = self._read_array(f) |