diff options
author | Steven Knight <knight@baldmt.com> | 2002-09-07 12:34:45 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-09-07 12:34:45 (GMT) |
commit | d2c0e3aa84d0355f592799ce260159e8c8679f88 (patch) | |
tree | 53eddd5f8a30af3956a51b4928407356bfabf342 /src | |
parent | 3cc2054726843bc99b8efe37964db7d94aeec1e7 (diff) | |
download | SCons-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.py | 12 |
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) |