diff options
author | Zac Medico <zmedico@gentoo.org> | 2013-01-06 00:44:12 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2013-01-06 00:44:12 -0800 |
commit | 8b573eaae39ca805d29d527bbea96e97060d204a (patch) | |
tree | 0a680327b867754491e184ec6e040b321e3b06dc | |
parent | d916da77dfc94eb30c6f512f9d7d727a8f28600c (diff) | |
download | portage-8b573eaae39ca805d29d527bbea96e97060d204a.tar.gz portage-8b573eaae39ca805d29d527bbea96e97060d204a.tar.bz2 portage-8b573eaae39ca805d29d527bbea96e97060d204a.zip |
MetadataRegen: fix signal interrupt handling
We have to force it out of the scheduling loop before
_termination_check can have an effect.
-rw-r--r-- | pym/_emerge/MetadataRegen.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/pym/_emerge/MetadataRegen.py b/pym/_emerge/MetadataRegen.py index 80dbb5a74..6203c7851 100644 --- a/pym/_emerge/MetadataRegen.py +++ b/pym/_emerge/MetadataRegen.py @@ -1,4 +1,4 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 import portage @@ -50,7 +50,7 @@ class MetadataRegen(AsyncScheduler): consumer = self._consumer for cp in self._cp_iter: - if self._terminated_tasks: + if self._terminated.is_set(): break cp_set.add(cp) portage.writemsg_stdout("Processing %s\n" % cp) @@ -60,7 +60,7 @@ class MetadataRegen(AsyncScheduler): repo = portdb.repositories.get_repo_for_location(mytree) cpv_list = portdb.cp_list(cp, mytree=[repo.location]) for cpv in cpv_list: - if self._terminated_tasks: + if self._terminated.is_set(): break valid_pkgs.add(cpv) ebuild_path, repo_path = portdb.findname2(cpv, myrepo=repo.name) @@ -86,6 +86,7 @@ class MetadataRegen(AsyncScheduler): portdb = self._portdb dead_nodes = {} + self._termination_check() if self._terminated_tasks: self.returncode = self._cancelled_returncode return self.returncode |