commit: ad325eb10bc6e8ec2a8248f8e9173911f957c0da Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Thu Apr 9 20:27:36 2020 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Thu Apr 9 20:47:08 2020 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=ad325eb1
_schedule_merge_wakeup: handle main loop exit Detect main loop exit and do not attempt to schedule in this case. Fixes: 389429d798a1 ("Scheduler: wakeup for empty merge queue (bug 711322)") Reported-by: Rick Farina <zerochaos <AT> gentoo.org> Bug: https://bugs.gentoo.org/711322 Bug: https://bugs.gentoo.org/716636 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/_emerge/Scheduler.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/_emerge/Scheduler.py b/lib/_emerge/Scheduler.py index 2c0483230..6f4564000 100644 --- a/lib/_emerge/Scheduler.py +++ b/lib/_emerge/Scheduler.py @@ -1635,7 +1635,8 @@ class Scheduler(PollScheduler): def _schedule_merge_wakeup(self, future): if not future.cancelled(): future.result() - self._schedule() + if self._main_exit is not None and not self._main_exit.done(): + self._schedule() def _sigcont_handler(self, signum, frame): self._sigcont_time = time.time()