From 0398e93df485e7953ff418e45f2eedf112d6280f Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sun, 6 Jul 2008 06:48:41 +0000 Subject: * 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 --- pym/_emerge/__init__.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'pym/_emerge/__init__.py') 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, -- cgit v1.2.3-1-g7c22