diff options
author | Zac Medico <zmedico@gentoo.org> | 2013-01-06 03:05:58 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2013-01-06 03:05:58 -0800 |
commit | b04d876dc648c4e813ddc5f3036c5d3c94a41b74 (patch) | |
tree | 05c344124720e75ed9baf26909a90bd1b67c4c82 | |
parent | 15d4ef127ea20c41f41434e7f99bbfbf9961e4f8 (diff) | |
download | portage-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.py | 8 |
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: |