aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_emerge')
-rw-r--r--lib/_emerge/SpawnProcess.py9
1 files 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: