From 7719d579dddb84c57033c1fdf3a02268abba2204 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Sun, 5 Oct 2008 13:42:01 +0000 Subject: Fix a block in Script/Main.py that could swallow KeyboardInterrupt exceptions. Fix the script that analyzes our try:-except: block so it recognizes that "except Exception, e:" is equivalent to "except:". --- src/engine/SCons/Script/Main.py | 2 ++ src/test_interrupts.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/engine/SCons/Script/Main.py b/src/engine/SCons/Script/Main.py index 048dfdd..22ca331 100644 --- a/src/engine/SCons/Script/Main.py +++ b/src/engine/SCons/Script/Main.py @@ -216,6 +216,8 @@ class BuildTask(SCons.Taskmaster.Task): sys.stderr.write("\n") try: raise SCons.Errors.BuildError(t, errstr) + except KeyboardInterrupt: + raise except: self.exception_set() self.do_failed() diff --git a/src/test_interrupts.py b/src/test_interrupts.py index 6fb82b4..eee1f0c 100644 --- a/src/test_interrupts.py +++ b/src/test_interrupts.py @@ -83,7 +83,7 @@ else: tryexc_pat = re.compile( r'^(?P(?P *)(try|except)( [^\n]*)?:.*)',re.MULTILINE) keyboardint_pat = re.compile(r' *except +([^,],)*KeyboardInterrupt([ ,][^\n]*)?:[^\n]*') -exceptall_pat = re.compile(r' *except *:[^\n]*') +exceptall_pat = re.compile(r' *except(?: *| +Exception *, *[^: ]+):[^\n]*') uncaughtKeyboardInterrupt = 0 for f in files: -- cgit v0.12