From: Zac Medico Date: Tue, 8 Jul 2008 17:26:46 +0000 (-0000) Subject: Raise an AssertionError in CompositeTask._wait() if it's detected that X-Git-Tag: v2.2_rc2~154 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=367d276d54ef1aeda5bb630577fa73a470e51ae0;p=portage.git Raise an AssertionError in CompositeTask._wait() if it's detected that self._current_task hasn't been properly updated after calling wait on it. svn path=/main/trunk/; revision=10987 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index f0a0a687c..c5d6c402f 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1582,9 +1582,15 @@ class CompositeTask(AsynchronousTask): prev = None while True: task = self._current_task - if task is None or task is prev: + if task is None: # don't wait for the same task more than once break + if task is prev: + # Before the task.wait() method returned, an exit + # listener should have set self._current_task to either + # a different task or None. Something is wrong. + raise AssertionError("self._current_task has not " + \ + "changed since calling wait", self, task) task.wait() prev = task