Force scanner functions to run after task failures - Issue 1660

This commit is contained in:
Thomas Nagy 2015-11-20 17:15:33 +01:00
parent a46cb274a7
commit 6c34e2a654
No known key found for this signature in database
GPG Key ID: 67A565EDFDF90E64
2 changed files with 8 additions and 0 deletions

View File

@ -278,6 +278,13 @@ class Parallel(object):
:param tsk: task
:type tsk: :py:attr:`waflib.Task.TaskBase`
"""
if hasattr(tsk, 'scan') and hasattr(tsk, 'uid'):
# TODO waf 1.9 - this breaks encapsulation
key = (tsk.uid(), 'imp')
try:
del self.bld.task_sigs[key]
except KeyError:
pass
if not self.bld.keep:
self.stop = True
self.error.append(tsk)

View File

@ -206,6 +206,7 @@ class TaskBase(evil):
# remove the task signature immediately before it is executed
# in case of failure the task will be executed again
try:
# TODO waf 1.9 - this breaks encapsulation
del self.generator.bld.task_sigs[self.uid()]
except KeyError:
pass