diff --git a/lib/_emerge/SpawnProcess.py b/lib/_emerge/SpawnProcess.py index aef000e22d..941b56683b 100644 --- a/lib/_emerge/SpawnProcess.py +++ b/lib/_emerge/SpawnProcess.py @@ -155,8 +155,13 @@ def _async_start(self): @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: