summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-03-12 10:35:23 -0800
committerZac Medico <zmedico@gentoo.org>2011-03-14 09:24:23 -0700
commit11aacb6a6d57d92080ee1c93d6711f2ec29913cc (patch)
treee19c75a0782f4f526a224073ff7922acf8fd2131
parent33b0aad6c747f410e63f3ccd5c5a9239a2f89729 (diff)
downloadportage-11aacb6a6d57d92080ee1c93d6711f2ec29913cc.tar.gz
portage-11aacb6a6d57d92080ee1c93d6711f2ec29913cc.tar.bz2
portage-11aacb6a6d57d92080ee1c93d6711f2ec29913cc.zip
Scheduler: fix AttributeError in _terminate_tasks
Thanks to David James <davidjames@google.com> for reporting this error: AttributeError: 'EbuildPhase' object has no attribute 'merge'
-rw-r--r--pym/_emerge/Scheduler.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 2f49c3420..de635b2b3 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -301,7 +301,10 @@ class Scheduler(PollScheduler):
for build in self._task_queues.jobs._task_queue:
self._running_tasks.remove(build.pkg)
for merge in self._task_queues.merge._task_queue:
- self._running_tasks.remove(merge.merge.pkg)
+ # Setup phases may be scheduled in this queue, but
+ # we're only interested in the PackageMerge instances.
+ if isinstance(merge, PackageMerge):
+ self._running_tasks.remove(merge.merge.pkg)
for q in self._task_queues.values():
q.clear()