Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/_emerge/
Date: Sat, 29 Feb 2020 22:49:55
Message-Id: 1583016231.d331f03ab25422e9afc2e752ea8e39c93a4b0bec.zmedico@gentoo
1 commit: d331f03ab25422e9afc2e752ea8e39c93a4b0bec
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 29 22:38:35 2020 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 29 22:43:51 2020 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=d331f03a
7
8 SpawnProcess: cancel pipe_logger after async_start CancelledError
9
10 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
11
12 lib/_emerge/SpawnProcess.py | 7 ++++++-
13 1 file changed, 6 insertions(+), 1 deletion(-)
14
15 diff --git a/lib/_emerge/SpawnProcess.py b/lib/_emerge/SpawnProcess.py
16 index 941b56683..ab7971ca8 100644
17 --- a/lib/_emerge/SpawnProcess.py
18 +++ b/lib/_emerge/SpawnProcess.py
19 @@ -147,7 +147,12 @@ class SpawnProcess(SubProcess):
20 log_file_path=log_file_path,
21 stdout_fd=stdout_fd)
22 self._registered = True
23 - yield pipe_logger.async_start()
24 + try:
25 + yield pipe_logger.async_start()
26 + except asyncio.CancelledError:
27 + if pipe_logger.poll() is None:
28 + pipe_logger.cancel()
29 + raise
30
31 self._main_task = asyncio.ensure_future(
32 self._main(pipe_logger), loop=self.scheduler)