summaryrefslogtreecommitdiffstats
path: root/Lib/site.py
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2010-03-21 21:48:45 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2010-03-21 21:48:45 (GMT)
commitffbc2f63e1ae5356e03f8b0cbf606616c311862e (patch)
tree21b807e7e152d929cfb8edba5440ccbaa686eb78 /Lib/site.py
parentb531bfba4e46a6295dce7529af7e454520683487 (diff)
downloadcpython-ffbc2f63e1ae5356e03f8b0cbf606616c311862e.zip
cpython-ffbc2f63e1ae5356e03f8b0cbf606616c311862e.tar.gz
cpython-ffbc2f63e1ae5356e03f8b0cbf606616c311862e.tar.bz2
Merged revisions 78872 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r78872 | victor.stinner | 2010-03-12 15:45:56 +0100 (ven., 12 mars 2010) | 12 lines Merged revisions 78826 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r78826 | victor.stinner | 2010-03-10 23:30:19 +0100 (mer., 10 mars 2010) | 5 lines Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt (SIGINT). If an error occurs while importing the site module, the error is printed and Python exits. Initialize the GIL before importing the site module. ........ ................
Diffstat (limited to 'Lib/site.py')
-rw-r--r--Lib/site.py19
1 files changed, 14 insertions, 5 deletions
diff --git a/Lib/site.py b/Lib/site.py
index 7bbd962..780ea7e 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -474,11 +474,12 @@ def execsitecustomize():
pass
except Exception as err:
if os.environ.get("PYTHONVERBOSE"):
- raise
- sys.stderr.write(
- "Error in sitecustomize; set PYTHONVERBOSE for traceback:\n"
- "%s: %s\n" %
- (err.__class__.__name__, err))
+ sys.excepthook(*sys.exc_info())
+ else:
+ sys.stderr.write(
+ "Error in sitecustomize; set PYTHONVERBOSE for traceback:\n"
+ "%s: %s\n" %
+ (err.__class__.__name__, err))
def execusercustomize():
@@ -487,6 +488,14 @@ def execusercustomize():
import usercustomize
except ImportError:
pass
+ except Exception as err:
+ if os.environ.get("PYTHONVERBOSE"):
+ sys.excepthook(*sys.exc_info())
+ else:
+ sys.stderr.write(
+ "Error in usercustomize; set PYTHONVERBOSE for traceback:\n"
+ "%s: %s\n" %
+ (err.__class__.__name__, err))
def main():