summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-03-31 07:12:00 +0000
committerZac Medico <zmedico@gentoo.org>2009-03-31 07:12:00 +0000
commitf1067aec4ce6ea71277b04d06b841af9c500ee57 (patch)
tree244218e1fbc04cbb171d80a0a2f2d87201ef48c1
parentcfad16b102584a58bf2f57f5e96a30b3d4777891 (diff)
downloadportage-f1067aec4ce6ea71277b04d06b841af9c500ee57.tar.gz
portage-f1067aec4ce6ea71277b04d06b841af9c500ee57.tar.bz2
portage-f1067aec4ce6ea71277b04d06b841af9c500ee57.zip
In MetadataRegen._metadata_exit(), notify the consumer of failures (in this
case the metadata argument is None). svn path=/main/trunk/; revision=13258
-rw-r--r--pym/_emerge/__init__.py17
1 files changed, 10 insertions, 7 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index e325f1f25..2a372d78c 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -11712,18 +11712,21 @@ class MetadataRegen(PollScheduler):
def _metadata_exit(self, metadata_process):
self._jobs -= 1
- if metadata_process.returncode == os.EX_OK:
- if self._consumer is not None:
- self._consumer(metadata_process.cpv,
- metadata_process.ebuild_path,
- metadata_process.repo_path,
- metadata_process.metadata)
- else:
+ if metadata_process.returncode != os.EX_OK:
self.returncode = 1
self._error_count += 1
self._valid_pkgs.discard(metadata_process.cpv)
portage.writemsg("Error processing %s, continuing...\n" % \
(metadata_process.cpv,))
+
+ if self._consumer is not None:
+ # On failure, still notify the consumer (in this case the metadata
+ # argument is None).
+ self._consumer(metadata_process.cpv,
+ metadata_process.ebuild_path,
+ metadata_process.repo_path,
+ metadata_process.metadata)
+
self._schedule()
class UninstallFailure(portage.exception.PortageException):