summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/__init__.py12
1 files changed, 4 insertions, 8 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 6951590db..3fee85d03 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -8826,13 +8826,7 @@ class Scheduler(PollScheduler):
self._task_queues = self._task_queues_class()
for k in self._task_queues.allowed_keys:
setattr(self._task_queues, k,
- SequentialTaskQueue(auto_schedule=True))
-
- # Merge tasks currently run synchronously which makes
- # it necessary to disable auto_schedule in order to
- # avoid excess recursion which prevents tasks from
- # being marked complete as soon as they should be.
- self._task_queues.merge.auto_schedule = False
+ SequentialTaskQueue())
self._prefetchers = weakref.WeakValueDictionary()
self._pkg_queue = []
@@ -9654,7 +9648,9 @@ class Scheduler(PollScheduler):
self._poll_loop()
def _schedule_tasks(self):
- self._task_queues.merge.schedule()
+ remaining, state_change = self._schedule_tasks_imp()
+ for q in self._task_queues.values():
+ q.schedule()
# Cancel prefetchers if they're the only reason
# the main poll loop is still running.