summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Taskmaster.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Taskmaster.py')
-rw-r--r--src/engine/SCons/Taskmaster.py11
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)