When a Node has been built, don't walk the whole tree back to delete the parents...
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 17 May 2004 14:17:39 +0000 (14:17 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 17 May 2004 14:17:39 +0000 (14:17 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@979 fdb21ef1-2011-0410-befe-b5e4ea1792b1

src/CHANGES.txt
src/engine/SCons/Node/__init__.py

index 8d35dc540532332c74e3757cd716d0e3ba39b3b7..b1d311983fc356b98a177d96722bd414d65bfc7e 100644 (file)
@@ -115,6 +115,10 @@ RELEASE 0.96 - XXX
     to replace the default print behavior with a custom strfunction()
     for each of these.
 
+  - When a Node has been built, don't walk the whole tree back to delete
+    the parents's implicit dependencies, let returning up the normal
+    Taskmaster descent take care of it for us.
+
   From Gary Oberbrunner:
 
   - Add a --debug=presub option to print actions prior to substitution.
index 59f2301ff4edcd9a6ca037b9b28124916b33dfa6..28417597e94104fd713e76a19dc9591d2c2ec1b6 100644 (file)
@@ -214,13 +214,9 @@ class Node:
         if self.source_scanner:
             self.found_includes = {}
             self.includes = None
-
-            def get_parents(node, parent): return node.get_parents()
-            def clear_cache(node, parent):
-                node.implicit = None
-                node.del_binfo()
-            w = Walker(self, get_parents, ignore_cycle, clear_cache)
-            while w.next(): pass
+            for parent in self.get_parents():
+                parent.implicit = None
+                parent.del_binfo()
 
         # The content just changed, delete any cached info
         # so it will get recalculated.