From d331f03ab25422e9afc2e752ea8e39c93a4b0bec Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 29 Feb 2020 14:38:35 -0800 Subject: SpawnProcess: cancel pipe_logger after async_start CancelledError Signed-off-by: Zac Medico --- lib/_emerge/SpawnProcess.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'lib/_emerge') 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) -- cgit v1.2.3