From: Zac Medico Date: Fri, 25 Jul 2008 00:12:52 +0000 (-0000) Subject: Cancel prefetchers if they're the only reason the main poll loop is still X-Git-Tag: v2.2_rc4~39 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ff490f6e06d4f30633c7f7e6ab1e82e15ea1292e;p=portage.git Cancel prefetchers if they're the only reason the main poll loop is still running. svn path=/main/trunk/; revision=11185 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index fafc59f94..2e63e6a9e 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -9544,6 +9544,13 @@ class Scheduler(PollScheduler): remaining, state_change = self._schedule_tasks_imp() self._task_queues.merge.schedule() self._status_display.display() + + # Cancel prefetchers if they're the only reason + # the main poll loop is still running. + if self._failed_pkgs and \ + not (self._jobs or self._task_queues.merge): + self._task_queues.fetch.clear() + return remaining def _schedule_tasks_imp(self):