Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/_emerge/
Date: Wed, 03 Aug 2011 05:11:33
Message-Id: 56099907f2fb5bbf8319baa961f97c9356995c09.zmedico@gentoo
1 commit: 56099907f2fb5bbf8319baa961f97c9356995c09
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Wed Aug 3 05:10:47 2011 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Wed Aug 3 05:10:47 2011 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=56099907
7
8 Scheduler: fix parallel-fetch order with --jobs=1
9
10 This avoids a case where the first prefetcher is discarded, causing
11 the second prefetcher to occupy the fetch queue before the first
12 fetcher has an opportunity to execute.
13
14 ---
15 pym/_emerge/Scheduler.py | 7 +++++++
16 1 files changed, 7 insertions(+), 0 deletions(-)
17
18 diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
19 index d13e622..6412d82 100644
20 --- a/pym/_emerge/Scheduler.py
21 +++ b/pym/_emerge/Scheduler.py
22 @@ -752,6 +752,13 @@ class Scheduler(PollScheduler):
23 self._task_queues.fetch.add(prefetcher)
24 prefetchers[pkg] = prefetcher
25
26 + # Start the first prefetcher immediately so that self._task()
27 + # won't discard it. This avoids a case where the first
28 + # prefetcher is discarded, causing the second prefetcher to
29 + # occupy the fetch queue before the first fetcher has an
30 + # opportunity to execute.
31 + self._task_queues.fetch.schedule()
32 +
33 def _create_prefetcher(self, pkg):
34 """
35 @return: a prefetcher, or None if not applicable