diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-08 20:04:09 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-08 20:04:09 -0800 |
commit | 6823977b783a7205154af5f4234fe02982c62666 (patch) | |
tree | 5d2d5fe4d158f190e9e09dffad04e5f12b01bfae /pym/_emerge/MetadataRegen.py | |
parent | c2538626bf1267d2c4fe968ec252d3a7e3d58f9f (diff) | |
download | portage-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.py | 9 |
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 |