summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/SConscript.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-02-09 06:59:46 (GMT)
committerSteven Knight <knight@baldmt.com>2004-02-09 06:59:46 (GMT)
commit653ac5db394d13a48068d170b6a294c32768235f (patch)
tree2179fb29cac6cb7112e1b9b423e6a42ebb6fdd8f /src/engine/SCons/Script/SConscript.py
parentbeb70fd5da65eb66b2b91df6ed487e4e927b5273 (diff)
downloadSCons-653ac5db394d13a48068d170b6a294c32768235f.zip
SCons-653ac5db394d13a48068d170b6a294c32768235f.tar.gz
SCons-653ac5db394d13a48068d170b6a294c32768235f.tar.bz2
Save memory by allowing Nodes to clean up their Executor's build environments after they've been built.
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
-rw-r--r--src/engine/SCons/Script/SConscript.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 90e1fe1..2fa1510 100644
--- a/src/engine/SCons/Script/SConscript.py
+++ b/src/engine/SCons/Script/SConscript.py
@@ -270,12 +270,18 @@ def SConscript_exception(file=sys.stderr):
up to where we exec the SConscript."""
stack = traceback.extract_tb(sys.exc_traceback)
last_text = ""
+ found = 0
i = 0
for frame in stack:
if is_our_exec_statement(last_text):
+ found = 1
break
i = i + 1
last_text = frame[3]
+ if not found:
+ # We did not find our exec statement, so this was actually a bug
+ # in SCons itself. Show the whole stack.
+ i = 0
type = str(sys.exc_type)
if type[:11] == "exceptions.":
type = type[11:]