summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/Interactive.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2008-12-06 17:42:03 (GMT)
committerSteven Knight <knight@baldmt.com>2008-12-06 17:42:03 (GMT)
commitd869378a703fc690f78c75044a9469633ee33457 (patch)
tree22d00320647cc70f084ebb37de6adf23d830facb /src/engine/SCons/Script/Interactive.py
parente07780fdbc8d4fa36f41f1bad7450e5bbcc6d80d (diff)
downloadSCons-d869378a703fc690f78c75044a9469633ee33457.zip
SCons-d869378a703fc690f78c75044a9469633ee33457.tar.gz
SCons-d869378a703fc690f78c75044a9469633ee33457.tar.bz2
Issue 2116: Eliminate some spurious dependency cycles by being more
aggressive about pruning pending children from the Taskmaster walk. (Benoit Belley)
Diffstat (limited to 'src/engine/SCons/Script/Interactive.py')
-rw-r--r--src/engine/SCons/Script/Interactive.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/engine/SCons/Script/Interactive.py b/src/engine/SCons/Script/Interactive.py
index 46582c5..4158f99 100644
--- a/src/engine/SCons/Script/Interactive.py
+++ b/src/engine/SCons/Script/Interactive.py
@@ -258,6 +258,14 @@ class SConsInteractiveCmd(cmd.Cmd):
# node.set_state() to reset it manually
node.set_state(SCons.Node.no_state)
node.implicit = None
+ # Make sure Taskmaster reference counts are reset to zero.
+ #
+ # TODO: Look for a way to avoid having to reset this here
+ # by making sure the Taskmaster will always end up reverting
+ # every Node's ref_count to 0 before terminating. That may
+ # provide clues about intermittent phantom cycles that have
+ # been reported (e.g. issue 2265 at tigris.org).
+ node.ref_count = 0
SCons.SConsign.Reset()
SCons.Script.Main.progress_display("scons: done clearing node information.")