diff options
author | Steven Knight <knight@baldmt.com> | 2001-12-30 00:21:33 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2001-12-30 00:21:33 (GMT) |
commit | e94e97e7e52a1ff8edea07a3a65a7793a3fac1ff (patch) | |
tree | 3bf67fc0a9fd696a0e0d322ecd66af44cdbf8989 /src/engine/SCons | |
parent | 19318e0471d8ae3f223b867010a437986382f4d2 (diff) | |
download | SCons-e94e97e7e52a1ff8edea07a3a65a7793a3fac1ff.zip SCons-e94e97e7e52a1ff8edea07a3a65a7793a3fac1ff.tar.gz SCons-e94e97e7e52a1ff8edea07a3a65a7793a3fac1ff.tar.bz2 |
Fix race condition with --debug=tree and -j
Diffstat (limited to 'src/engine/SCons')
-rw-r--r-- | src/engine/SCons/Script/__init__.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py index 3b5a79d..9b5430f 100644 --- a/src/engine/SCons/Script/__init__.py +++ b/src/engine/SCons/Script/__init__.py @@ -71,19 +71,22 @@ class BuildTask(SCons.Taskmaster.Task): if self.target.get_state() == SCons.Node.up_to_date: if self.top: print 'scons: "%s" is up to date.' % str(self.target) - if print_tree: - print - print SCons.Util.render_tree(self.target, get_children) else: try: self.target.build() - if self.top and print_tree: - print - print SCons.Util.render_tree(self.target, get_children) except BuildError, e: sys.stderr.write("scons: *** [%s] Error %s\n" % (e.node, str(e.stat))) raise + def executed(self): + SCons.Taskmaster.Task.executed(self) + # print the tree here instead of in execute() because + # this method is serialized, but execute isn't: + if print_tree and self.top: + print + print SCons.Util.render_tree(self.target, get_children) + + def failed(self): global ignore_errors if ignore_errors: |