Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r11273 - main/trunk/pym/_emerge
Date: Tue, 29 Jul 2008 21:28:03
Message-Id: E1KNwjh-0008Pk-4w@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-07-29 21:27:59 +0000 (Tue, 29 Jul 2008)
3 New Revision: 11273
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Count state changes in Scheduler._schedule_tasks() and avoid some extra calls
9 when nothing changes.
10
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-07-29 20:52:05 UTC (rev 11272)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-07-29 21:27:59 UTC (rev 11273)
16 @@ -9655,19 +9655,26 @@
17 def _schedule_tasks(self):
18 remaining, state_change = self._schedule_tasks_imp()
19 self._status_display.display()
20 +
21 + state_change = 0
22 for q in self._task_queues.values():
23 - q.schedule()
24 + if q.schedule():
25 + state_change += 1
26
27 # Cancel prefetchers if they're the only reason
28 # the main poll loop is still running.
29 if self._failed_pkgs and \
30 - not (self._jobs or self._task_queues.merge):
31 + not (self._jobs or self._task_queues.merge) and \
32 + self._task_queues.fetch:
33 self._task_queues.fetch.clear()
34 + state_change += 1
35
36 - remaining, state_change = self._schedule_tasks_imp()
37 - self._status_display.display()
38 - return remaining
39 + if state_change:
40 + remaining, state_change = self._schedule_tasks_imp()
41 + self._status_display.display()
42
43 + return bool(self._pkg_queue and not self._failed_pkgs)
44 +
45 def _job_delay(self):
46 """
47 @rtype: bool