[Python-Dev] Catch SIGINT at Python startup (original) (raw)
Victor Stinner victor.stinner at haypocalc.com
Mon Mar 8 14:12:51 CET 2010
- Previous message: [Python-Dev] unittest2 plus class and module level fixtures in unittest
- Next message: [Python-Dev] Catch SIGINT at Python startup
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
I wrote patches for the issue #3137 and I would like your opinion about my solution (not directly about the patches): I propose to consider a SIGINT during startup as a fatal error. If you press CTRL+c while Python is starting, Python displays an error and exit with the code 1.
Currently, if you press CTRL+c while Python is starting: the SIGINT signal will be ignored somewhere between Python initialization and the first Python instruction. First problem is that if site import is interrupted, Python is not completly initialized (if a SIGINT is sent just after the call to initsigs(), initsite() is completly skipped).
Example:
$ python
^C
Traceback (most recent call last):
File "/home/SHARE/SVN/python-trunk/Lib/site.py", line 62, in
import os
File "/home/SHARE/SVN/python-trunk/Lib/os.py", line 44, in
from posix import *
KeyboardInterrupt
$ echo $?
1
It's not easy to reproduce this issue because Python initialization is really fast (yeah really! or at least to fast for me ;-)). I'm using "valgrind --log- file=/dev/null ./python -v" to simulate a very slow computer :-)
-- Victor Stinner http://www.haypocalc.com/
- Previous message: [Python-Dev] unittest2 plus class and module level fixtures in unittest
- Next message: [Python-Dev] Catch SIGINT at Python startup
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]