summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/MetadataRegen.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-02-08 20:04:09 -0800
committerZac Medico <zmedico@gentoo.org>2012-02-08 20:04:09 -0800
commit6823977b783a7205154af5f4234fe02982c62666 (patch)
tree5d2d5fe4d158f190e9e09dffad04e5f12b01bfae /pym/_emerge/MetadataRegen.py
parentc2538626bf1267d2c4fe968ec252d3a7e3d58f9f (diff)
downloadportage-6823977b783a7205154af5f4234fe02982c62666.tar.gz
portage-6823977b783a7205154af5f4234fe02982c62666.tar.bz2
portage-6823977b783a7205154af5f4234fe02982c62666.zip
PollScheduler: remove _poll_loop
We can use iteration() instead, and _poll_loop's exit behavior doesn't seem practical to emulate with glib.MainLoop.
Diffstat (limited to 'pym/_emerge/MetadataRegen.py')
-rw-r--r--pym/_emerge/MetadataRegen.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pym/_emerge/MetadataRegen.py b/pym/_emerge/MetadataRegen.py
index 07fd397dd..1ebc53268 100644
--- a/pym/_emerge/MetadataRegen.py
+++ b/pym/_emerge/MetadataRegen.py
@@ -33,6 +33,7 @@ class MetadataRegen(PollScheduler):
self.returncode = os.EX_OK
self._error_count = 0
self._running_tasks = set()
+ self._remaining_tasks = True
def _terminate_tasks(self):
while self._running_tasks:
@@ -87,11 +88,12 @@ class MetadataRegen(PollScheduler):
from portage.cache.cache_errors import CacheError
dead_nodes = {}
- while self._schedule():
- self.sched_iface.run()
+ self._schedule()
+ while self._remaining_tasks and not self._terminated_tasks:
+ self.sched_iface.iteration()
while self._jobs:
- self.sched_iface.run()
+ self.sched_iface.iteration()
if self._terminated_tasks:
self.returncode = 1
@@ -151,6 +153,7 @@ class MetadataRegen(PollScheduler):
try:
metadata_process = next(self._process_iter)
except StopIteration:
+ self._remaining_tasks = False
return False
self._jobs += 1