commit: 6eb6500435c80837f106d3f9f9f6bb246ff00c16
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 29 21:43:29 2020 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat Feb 29 21:46:49 2020 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=6eb65004
SpawnProcess: make _main cancel pipe_logger when appropriate
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/_emerge/SpawnProcess.py | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lib/_emerge/SpawnProcess.py b/lib/_emerge/SpawnProcess.py
index aef000e22..941b56683 100644
--- a/lib/_emerge/SpawnProcess.py
+++ b/lib/_emerge/SpawnProcess.py
@@ -155,8 +155,13 @@ class SpawnProcess(SubProcess):
@coroutine
def _main(self, pipe_logger):
- if pipe_logger.poll() is None:
- yield pipe_logger.async_wait()
+ try:
+ if pipe_logger.poll() is None:
+ yield pipe_logger.async_wait()
+ except asyncio.CancelledError:
+ if pipe_logger.poll() is None:
+ pipe_logger.cancel()
+ raise
def _main_exit(self, main_task):
try: