summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-10-08 13:44:22 -0700
committerZac Medico <zmedico@gentoo.org>2012-10-08 13:44:22 -0700
commit91b253ba2f249b19d6cc68f51cd6b909a765a715 (patch)
tree4e92f49be790cfafedcc5b718bfbfb8ed661ad2d
parent1ddda9a8db7b1e09a04220a8677b60015b2fe849 (diff)
downloadportage-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.py2
-rw-r--r--pym/_emerge/Scheduler.py7
-rw-r--r--pym/portage/util/_async/AsyncScheduler.py4
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(