From e94e97e7e52a1ff8edea07a3a65a7793a3fac1ff Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Sun, 30 Dec 2001 00:21:33 +0000 Subject: Fix race condition with --debug=tree and -j --- src/engine/SCons/Script/__init__.py | 15 +++++++++------ 1 file 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: -- cgit v0.12