summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-07-06 06:48:41 +0000
committerZac Medico <zmedico@gentoo.org>2008-07-06 06:48:41 +0000
commit0398e93df485e7953ff418e45f2eedf112d6280f (patch)
tree73f8abb0367239a573c74e9b45e7e2d7583c1db7
parentdf3b03cfcf30e35951118ba00981eb7868cab4aa (diff)
downloadportage-0398e93df485e7953ff418e45f2eedf112d6280f.tar.gz
portage-0398e93df485e7953ff418e45f2eedf112d6280f.tar.bz2
portage-0398e93df485e7953ff418e45f2eedf112d6280f.zip
* Fix broke return code handling from previous commit, in
MergeListItem.execute(). * Fix TaskSequence._task_exit_handler() so it won't call final_exit() if _default_exit() has already set self._current_task to None. svn path=/main/trunk/; revision=10954
-rw-r--r--pym/_emerge/__init__.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index e750e7645..b1fca922f 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -1607,8 +1607,9 @@ class TaskSequence(CompositeTask):
self._task_exit_handler)
def _task_exit_handler(self, task):
- if self._default_exit(task) == os.EX_OK and \
- self._task_queue:
+ if self._default_exit(task) != os.EX_OK:
+ pass
+ elif self._task_queue:
self._start_next_task()
else:
self._final_exit(task)
@@ -2781,6 +2782,9 @@ class MergeListItem(SlotObject):
retval = build.install()
+ if retval != os.EX_OK:
+ return retval
+
elif pkg.type_name == "binary":
binpkg = Binpkg(find_blockers=find_blockers,