aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/_emerge/SpawnProcess.py')
-rw-r--r--lib/_emerge/SpawnProcess.py7
1 files changed, 6 insertions, 1 deletions
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)