summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-09-07 12:34:45 (GMT)
committerSteven Knight <knight@baldmt.com>2002-09-07 12:34:45 (GMT)
commitd2c0e3aa84d0355f592799ce260159e8c8679f88 (patch)
tree53eddd5f8a30af3956a51b4928407356bfabf342 /src
parent3cc2054726843bc99b8efe37964db7d94aeec1e7 (diff)
downloadSCons-d2c0e3aa84d0355f592799ce260159e8c8679f88.zip
SCons-d2c0e3aa84d0355f592799ce260159e8c8679f88.tar.gz
SCons-d2c0e3aa84d0355f592799ce260159e8c8679f88.tar.bz2
Fix -j with multiple targets. (Anthony Roach)
Diffstat (limited to 'src')
-rw-r--r--src/engine/SCons/Taskmaster.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py
index 799582b..bf2d918 100644
--- a/src/engine/SCons/Taskmaster.py
+++ b/src/engine/SCons/Taskmaster.py
@@ -231,12 +231,13 @@ class Taskmaster:
if node is None:
return None
- self.executing.append(node)
- self.executing.extend(node.side_effects)
try:
tlist = node.builder.targets(node)
except AttributeError:
tlist = [node]
+ self.executing.extend(tlist)
+ self.executing.extend(node.side_effects)
+
task = self.tasker(self, tlist, node in self.targets, node)
task.make_ready()
self.ready = None
@@ -255,7 +256,12 @@ class Taskmaster:
self.pending = []
def executed(self, node):
- self.executing.remove(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)