commit:     ce2247b4de0342d7802d4744904bb82870cac1ac
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  7 14:35:57 2021 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sun Mar  7 14:37:54 2021 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=ce2247b4

PipeLogger: Use async and await syntax

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/portage/util/_async/PipeLogger.py | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/lib/portage/util/_async/PipeLogger.py 
b/lib/portage/util/_async/PipeLogger.py
index e8203268c..b7c03043f 100644
--- a/lib/portage/util/_async/PipeLogger.py
+++ b/lib/portage/util/_async/PipeLogger.py
@@ -1,4 +1,4 @@
-# Copyright 2008-2020 Gentoo Authors
+# Copyright 2008-2021 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import fcntl
@@ -9,7 +9,6 @@ import portage
 from portage import os, _encodings, _unicode_encode
 from portage.util.futures import asyncio
 from portage.util.futures._asyncio.streams import _writer
-from portage.util.futures.compat_coroutine import coroutine
 from portage.util.futures.unix_events import _set_nonblocking
 from _emerge.AbstractPollTask import AbstractPollTask
 
@@ -53,7 +52,7 @@ class PipeLogger(AbstractPollTask):
                fcntl.fcntl(fd, fcntl.F_SETFL,
                        fcntl.fcntl(fd, fcntl.F_GETFL) | os.O_NONBLOCK)
 
-               self._io_loop_task = 
asyncio.ensure_future(self._io_loop(self.input_fd, loop=self.scheduler), 
loop=self.scheduler)
+               self._io_loop_task = 
asyncio.ensure_future(self._io_loop(self.input_fd), loop=self.scheduler)
                self._io_loop_task.add_done_callback(self._io_loop_done)
                self._registered = True
 
@@ -62,8 +61,7 @@ class PipeLogger(AbstractPollTask):
                if self.returncode is None:
                        self.returncode = self._cancelled_returncode
 
-       @coroutine
-       def _io_loop(self, input_file, loop=None):
+       async def _io_loop(self, input_file):
                background = self.background
                stdout_fd = self.stdout_fd
                log_file = self._log_file
@@ -77,7 +75,7 @@ class PipeLogger(AbstractPollTask):
                                future = self.scheduler.create_future()
                                self.scheduler.add_reader(fd, 
future.set_result, None)
                                try:
-                                       yield future
+                                       await future
                                finally:
                                        # The loop and input file may have been 
closed.
                                        if not self.scheduler.is_closed():
@@ -130,7 +128,7 @@ class PipeLogger(AbstractPollTask):
                                if self._log_file_nb:
                                        # Use the _writer function which uses 
os.write, since the
                                        # log_file.write method looses data 
when an EAGAIN occurs.
-                                       yield _writer(log_file, buf, 
loop=self.scheduler)
+                                       await _writer(log_file, buf)
                                else:
                                        # For gzip.GzipFile instances, the 
above _writer function
                                        # will not work because data written 
directly to the file

Reply via email to