diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-08 17:58:28 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-08 17:58:28 -0800 |
commit | e414834041d39f14211ede7df8ec5ff527673967 (patch) | |
tree | dd0d5045e8d1f9f25de47ab3072e9c939a36aa33 | |
parent | 3ea7f3dc381ea2b61604e6cedb82b4847537317c (diff) | |
download | portage-e414834041d39f14211ede7df8ec5ff527673967.tar.gz portage-e414834041d39f14211ede7df8ec5ff527673967.tar.bz2 portage-e414834041d39f14211ede7df8ec5ff527673967.zip |
Scheduler: tweak _add_prefetchers
Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the first
prefetcher is started as soon as it's added to the task queue.
-rw-r--r-- | pym/_emerge/Scheduler.py | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index d3f77611d..6502f71c5 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -733,15 +733,13 @@ class Scheduler(PollScheduler): continue prefetcher = self._create_prefetcher(pkg) if prefetcher is not None: - self._task_queues.fetch.add(prefetcher) + # This will start the first prefetcher immediately, so that + # self._task() won't discard it. This avoids a case where + # the first prefetcher is discarded, causing the second + # prefetcher to occupy the fetch queue before the first + # fetcher has an opportunity to execute. prefetchers[pkg] = prefetcher - - # Start the first prefetcher immediately so that self._task() - # won't discard it. This avoids a case where the first - # prefetcher is discarded, causing the second prefetcher to - # occupy the fetch queue before the first fetcher has an - # opportunity to execute. - self._task_queues.fetch.schedule() + self._task_queues.fetch.add(prefetcher) def _create_prefetcher(self, pkg): """ |