summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-10-06 15:00:53 -0700
committerZac Medico <zmedico@gentoo.org>2012-10-06 15:00:53 -0700
commite8b66e3e9781aaad8535085007aa12b9a2a64742 (patch)
treec3db5f0fc47bce6ded9a22daeeecfc760a39dc9d
parentbb86a7b52641ad0b0b8e4150344865fec89eb4b3 (diff)
downloadportage-e8b66e3e9781aaad8535085007aa12b9a2a64742.tar.gz
portage-e8b66e3e9781aaad8535085007aa12b9a2a64742.tar.bz2
portage-e8b66e3e9781aaad8535085007aa12b9a2a64742.zip
PollScheduler: move _main_loop to Scheduler
-rw-r--r--pym/_emerge/PollScheduler.py30
-rw-r--r--pym/_emerge/Scheduler.py30
2 files changed, 30 insertions, 30 deletions
diff --git a/pym/_emerge/PollScheduler.py b/pym/_emerge/PollScheduler.py
index dbf137f85..105943fd4 100644
--- a/pym/_emerge/PollScheduler.py
+++ b/pym/_emerge/PollScheduler.py
@@ -147,36 +147,6 @@ class PollScheduler(object):
finally:
self._scheduling = False
- def _main_loop(self):
- term_check_id = self.sched_iface.idle_add(self._termination_check)
- loadavg_check_id = None
- if self._max_load is not None:
- # We have to schedule periodically, in case the load
- # average has changed since the last call.
- loadavg_check_id = self.sched_iface.timeout_add(
- self._loadavg_latency, self._schedule)
-
- try:
- # Populate initial event sources. Unless we're scheduling
- # based on load average, we only need to do this once
- # here, since it can be called during the loop from within
- # event handlers.
- self._schedule()
-
- # Loop while there are jobs to be scheduled.
- while self._keep_scheduling():
- self.sched_iface.iteration()
-
- # Clean shutdown of previously scheduled jobs. In the
- # case of termination, this allows for basic cleanup
- # such as flushing of buffered output to logs.
- while self._is_work_scheduled():
- self.sched_iface.iteration()
- finally:
- self.sched_iface.source_remove(term_check_id)
- if loadavg_check_id is not None:
- self.sched_iface.source_remove(loadavg_check_id)
-
def _is_work_scheduled(self):
return bool(self._running_job_count())
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 6a8793874..1814344de 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -1338,6 +1338,36 @@ class Scheduler(PollScheduler):
blocker_db = self._blocker_db[pkg.root]
blocker_db.discardBlocker(pkg)
+ def _main_loop(self):
+ term_check_id = self.sched_iface.idle_add(self._termination_check)
+ loadavg_check_id = None
+ if self._max_load is not None:
+ # We have to schedule periodically, in case the load
+ # average has changed since the last call.
+ loadavg_check_id = self.sched_iface.timeout_add(
+ self._loadavg_latency, self._schedule)
+
+ try:
+ # Populate initial event sources. Unless we're scheduling
+ # based on load average, we only need to do this once
+ # here, since it can be called during the loop from within
+ # event handlers.
+ self._schedule()
+
+ # Loop while there are jobs to be scheduled.
+ while self._keep_scheduling():
+ self.sched_iface.iteration()
+
+ # Clean shutdown of previously scheduled jobs. In the
+ # case of termination, this allows for basic cleanup
+ # such as flushing of buffered output to logs.
+ while self._is_work_scheduled():
+ self.sched_iface.iteration()
+ finally:
+ self.sched_iface.source_remove(term_check_id)
+ if loadavg_check_id is not None:
+ self.sched_iface.source_remove(loadavg_check_id)
+
def _merge(self):
if self._opts_no_background.intersection(self.myopts):