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)