From 06ba202285adedff28955adf56b52cdc4cc1591a Mon Sep 17 00:00:00 2001 From: stevenknight Date: Sun, 5 Oct 2008 13:42:01 +0000 Subject: [PATCH] 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:". git-svn-id: http://scons.tigris.org/svn/scons/trunk@3552 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- 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 048dfdd1..22ca3313 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 6fb82b46..eee1f0ca 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: -- 2.26.2