commit: d331f03ab25422e9afc2e752ea8e39c93a4b0bec Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Sat Feb 29 22:38:35 2020 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Sat Feb 29 22:43:51 2020 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d331f03a
SpawnProcess: cancel pipe_logger after async_start CancelledError Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/_emerge/SpawnProcess.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/_emerge/SpawnProcess.py b/lib/_emerge/SpawnProcess.py index 941b56683..ab7971ca8 100644 --- a/lib/_emerge/SpawnProcess.py +++ b/lib/_emerge/SpawnProcess.py @@ -147,7 +147,12 @@ class SpawnProcess(SubProcess): log_file_path=log_file_path, stdout_fd=stdout_fd) self._registered = True - yield pipe_logger.async_start() + try: + yield pipe_logger.async_start() + except asyncio.CancelledError: + if pipe_logger.poll() is None: + pipe_logger.cancel() + raise self._main_task = asyncio.ensure_future( self._main(pipe_logger), loop=self.scheduler)