diff options
author | Zac Medico <zmedico@gentoo.org> | 2020-08-16 21:20:22 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2020-08-16 21:23:49 -0700 |
commit | 4db210cf165f426f695ecf8307942a2610b352fc (patch) | |
tree | 5359716080fbd2a41378b4710f978a14a03d75ab | |
parent | emerge: Add short -l option for --load-average (bug 699256) (diff) | |
download | portage-4db210cf165f426f695ecf8307942a2610b352fc.tar.gz portage-4db210cf165f426f695ecf8307942a2610b352fc.tar.bz2 portage-4db210cf165f426f695ecf8307942a2610b352fc.zip |
async_iter_completed: check if loop is closed in finally clause
This avoids RuntimeError('Event loop is closed') errors triggered
by SIGINT.
Signed-off-by: Zac Medico <zmedico@gentoo.org>
-rw-r--r-- | lib/portage/util/futures/iter_completed.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/portage/util/futures/iter_completed.py b/lib/portage/util/futures/iter_completed.py index 9554b4338..3c1a58e7e 100644 --- a/lib/portage/util/futures/iter_completed.py +++ b/lib/portage/util/futures/iter_completed.py @@ -107,8 +107,9 @@ def async_iter_completed(futures, max_jobs=None, max_load=None, loop=None): yield future_done_set finally: # cleanup in case of interruption by SIGINT, etc - scheduler.cancel() - scheduler.wait() + if not loop.is_closed(): + scheduler.cancel() + scheduler.wait() def iter_gather(futures, max_jobs=None, max_load=None, loop=None): |