diff options
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
| -rw-r--r-- | src/engine/SCons/Taskmaster.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py index 7760cfe..6eda8c1 100644 --- a/src/engine/SCons/Taskmaster.py +++ b/src/engine/SCons/Taskmaster.py @@ -140,6 +140,7 @@ class Task: """Explicit stop-the-build failure.""" for t in self.targets: t.set_state(SCons.Node.failed) + self.tm.failed(self.node) self.tm.stop() def fail_continue(self): @@ -366,6 +367,16 @@ class Taskmaster: self.ready = None self.pending = [] + def failed(self, node): + try: + tlist = node.builder.targets(node) + except AttributeError: + tlist = [node] + for t in tlist: + self.executing.remove(t) + for side_effect in node.side_effects: + self.executing.remove(side_effect) + def executed(self, node): try: tlist = node.builder.targets(node) |
