summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Taskmaster.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-10-09 22:20:17 (GMT)
committerSteven Knight <knight@baldmt.com>2003-10-09 22:20:17 (GMT)
commit34f47299ed9fa4eb468201ae6e5cb4e0523a3dc2 (patch)
tree242ccda5c6f457941574d3e2b735a5bdec23d702 /src/engine/SCons/Taskmaster.py
parentc758e5b84c91197de129134c2ab67f45f96dff52 (diff)
downloadSCons-34f47299ed9fa4eb468201ae6e5cb4e0523a3dc2.zip
SCons-34f47299ed9fa4eb468201ae6e5cb4e0523a3dc2.tar.gz
SCons-34f47299ed9fa4eb468201ae6e5cb4e0523a3dc2.tar.bz2
Fix a problem with the new Parallel job support when a command fails. (J.T. Conklin)
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)