From 367d276d54ef1aeda5bb630577fa73a470e51ae0 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 8 Jul 2008 17:26:46 +0000 Subject: 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 --- pym/_emerge/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pym/_emerge/__init__.py') 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 -- cgit v1.2.3-1-g7c22