summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2013-01-06 03:05:58 -0800
committerZac Medico <zmedico@gentoo.org>2013-01-06 03:05:58 -0800
commitb04d876dc648c4e813ddc5f3036c5d3c94a41b74 (patch)
tree05c344124720e75ed9baf26909a90bd1b67c4c82
parent15d4ef127ea20c41f41434e7f99bbfbf9961e4f8 (diff)
downloadportage-b04d876dc648c4e813ddc5f3036c5d3c94a41b74.tar.gz
portage-b04d876dc648c4e813ddc5f3036c5d3c94a41b74.tar.bz2
portage-b04d876dc648c4e813ddc5f3036c5d3c94a41b74.zip
ManifestScheduler: fix signal interrupt handling
-rw-r--r--pym/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py8
1 files changed, 5 insertions, 3 deletions
diff --git a/pym/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py b/pym/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py
index 3dc955684..50c9c7404 100644
--- a/pym/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py
+++ b/pym/portage/package/ebuild/_parallel_manifest/ManifestScheduler.py
@@ -1,4 +1,4 @@
-# Copyright 2012 Gentoo Foundation
+# Copyright 2012-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
import portage
@@ -31,7 +31,7 @@ class ManifestScheduler(AsyncScheduler):
def _iter_every_cp(self):
every_cp = self._portdb.cp_all()
- every_cp.sort(reverse=True)
+ every_cp.reverse()
try:
while not self._terminated_tasks:
yield every_cp.pop()
@@ -44,11 +44,13 @@ class ManifestScheduler(AsyncScheduler):
disabled_repos = set()
for cp in self._cp_iter:
- if self._terminated_tasks:
+ if self._terminated.is_set():
break
# We iterate over portdb.porttrees, since it's common to
# tweak this attribute in order to adjust repo selection.
for mytree in portdb.porttrees:
+ if self._terminated.is_set():
+ break
repo_config = portdb.repositories.get_repo_for_location(mytree)
if not repo_config.create_manifest:
if repo_config.name not in disabled_repos: