summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-07-30 03:33:46 +0000
committerZac Medico <zmedico@gentoo.org>2008-07-30 03:33:46 +0000
commit54ac8602e32a16ffa19686557f6f731fc45fec08 (patch)
tree83c3fa38d302cb5926749555c69210343f04a49c
parent68c7cb49cd4b2d6d2cba806b401382b9ed9d14d0 (diff)
downloadportage-54ac8602e32a16ffa19686557f6f731fc45fec08.tar.gz
portage-54ac8602e32a16ffa19686557f6f731fc45fec08.tar.bz2
portage-54ac8602e32a16ffa19686557f6f731fc45fec08.zip
Put a 5 second cap on the delay produced by Scheduler._job_delay().
svn path=/main/trunk/; revision=11277
-rw-r--r--pym/_emerge/__init__.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index f69928ee3..e418f0353 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -8862,6 +8862,7 @@ class Scheduler(PollScheduler):
# The load average takes some time to respond when new
# jobs are added, so we need to limit the rate of adding
# new jobs.
+ self._job_delay_max = 5
self._job_delay_factor = 0.5
self._previous_job_start_time = None
@@ -9690,8 +9691,10 @@ class Scheduler(PollScheduler):
current_time = time.time()
- if current_time - self._previous_job_start_time < \
- self._job_delay_factor * self._jobs:
+ delay = self._job_delay_factor * self._jobs
+ if delay > self._job_delay_max:
+ delay = self._job_delay_max
+ if (current_time - self._previous_job_start_time) < delay:
return True
return False