diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-10-08 13:44:22 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-10-08 13:44:22 -0700 |
commit | 91b253ba2f249b19d6cc68f51cd6b909a765a715 (patch) | |
tree | 4e92f49be790cfafedcc5b718bfbfb8ed661ad2d | |
parent | 1ddda9a8db7b1e09a04220a8677b60015b2fe849 (diff) | |
download | portage-91b253ba2f249b19d6cc68f51cd6b909a765a715.tar.gz portage-91b253ba2f249b19d6cc68f51cd6b909a765a715.tar.bz2 portage-91b253ba2f249b19d6cc68f51cd6b909a765a715.zip |
PollScheduler: disable default _loadavg_latency
Move the 30 second default to the Scheduler class, since that's the
only place that it's currently needed (all other schedulers have
relatively short-running jobs).
-rw-r--r-- | pym/_emerge/PollScheduler.py | 2 | ||||
-rw-r--r-- | pym/_emerge/Scheduler.py | 7 | ||||
-rw-r--r-- | pym/portage/util/_async/AsyncScheduler.py | 4 |
3 files changed, 10 insertions, 3 deletions
diff --git a/pym/_emerge/PollScheduler.py b/pym/_emerge/PollScheduler.py index 1a81e2d17..d02b0dafc 100644 --- a/pym/_emerge/PollScheduler.py +++ b/pym/_emerge/PollScheduler.py @@ -15,7 +15,7 @@ from _emerge.getloadavg import getloadavg class PollScheduler(object): # max time between loadavg checks (milliseconds) - _loadavg_latency = 30000 + _loadavg_latency = None def __init__(self, main=False, event_loop=None): """ diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 40033c2c3..3b55b2bdb 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -66,6 +66,9 @@ if sys.hexversion >= 0x3000000: class Scheduler(PollScheduler): + # max time between loadavg checks (milliseconds) + _loadavg_latency = 30000 + # max time between display status updates (milliseconds) _max_display_latency = 3000 @@ -1339,7 +1342,9 @@ class Scheduler(PollScheduler): def _main_loop(self): term_check_id = self._event_loop.idle_add(self._termination_check) loadavg_check_id = None - if self._max_load is not None: + if self._max_load is not None and \ + self._loadavg_latency is not None and \ + (self._max_jobs is True or self._max_jobs > 1): # We have to schedule periodically, in case the load # average has changed since the last call. loadavg_check_id = self._event_loop.timeout_add( diff --git a/pym/portage/util/_async/AsyncScheduler.py b/pym/portage/util/_async/AsyncScheduler.py index c6a37f59e..182e19ee8 100644 --- a/pym/portage/util/_async/AsyncScheduler.py +++ b/pym/portage/util/_async/AsyncScheduler.py @@ -66,7 +66,9 @@ class AsyncScheduler(AsynchronousTask, PollScheduler): def _start(self): self._term_check_id = self._event_loop.idle_add(self._termination_check) - if self._max_load is not None: + if self._max_load is not None and \ + self._loadavg_latency is not None and \ + (self._max_jobs is True or self._max_jobs > 1): # We have to schedule periodically, in case the load # average has changed since the last call. self._loadavg_check_id = self._event_loop.timeout_add( |