Bug #233165 - When waiting for jobs and merges to finish in
authorZac Medico <zmedico@gentoo.org>
Mon, 28 Jul 2008 21:31:51 +0000 (21:31 -0000)
committerZac Medico <zmedico@gentoo.org>
Mon, 28 Jul 2008 21:31:51 +0000 (21:31 -0000)
Scheduler._main_loop(), keep scheduling the merge queue since
it doesn't autoschedule, and skip the poll loop if there no
event handlers due to synchronous merge tasks being the only
things left to do.

svn path=/main/trunk/; revision=11249

pym/_emerge/__init__.py

index 877d64179a57b600d12ce4bc041c2b9fb5a9973e..5d225a44fd0e6340409b35900c1212e08d6c150b 100644 (file)
@@ -9622,6 +9622,9 @@ class Scheduler(PollScheduler):
                        self._poll_loop()
 
                while self._jobs or merge_queue:
+                       if merge_queue.schedule() and \
+                               not self._poll_event_handlers:
+                               continue
                        self._poll_loop()
 
        def _schedule_tasks(self):