summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-02-20 03:01:12 -0800
committerZac Medico <zmedico@gentoo.org>2012-02-20 03:04:23 -0800
commite465dbc4a726034a173407f3edfffc56e9ad8639 (patch)
tree1de6ca76a3d65d50f6479d43bbd78cc5a1cad65e
parent9ed6365f4c6e65f5c38f23505fe704ac5f81feaa (diff)
downloadportage-e465dbc4a726034a173407f3edfffc56e9ad8639.tar.gz
portage-e465dbc4a726034a173407f3edfffc56e9ad8639.tar.bz2
portage-e465dbc4a726034a173407f3edfffc56e9ad8639.zip
Scheduler: hang in _schedule_tasks, bug 404995v2.2.0_alpha88
This is triggered whenever emerge bails out while parallel-fetch is running in the background.
-rw-r--r--pym/_emerge/Scheduler.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index b76d9ee96..62b3589d7 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -1523,8 +1523,9 @@ class Scheduler(PollScheduler):
if self._failed_pkgs and not self._build_opts.fetchonly and \
not self._is_work_scheduled() and \
self._task_queues.fetch:
+ # Since this happens asynchronously, it doesn't count in
+ # state_change (counting it triggers an infinite loop).
self._task_queues.fetch.clear()
- state_change += 1
if not (state_change or \
(self._merge_wait_queue and not self._jobs and