diff options
author | Steven Knight <knight@baldmt.com> | 2004-02-09 06:59:46 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-02-09 06:59:46 (GMT) |
commit | 653ac5db394d13a48068d170b6a294c32768235f (patch) | |
tree | 2179fb29cac6cb7112e1b9b423e6a42ebb6fdd8f /src/engine/SCons/Script/SConscript.py | |
parent | beb70fd5da65eb66b2b91df6ed487e4e927b5273 (diff) | |
download | SCons-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.py | 6 |
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:] |