[Python-Dev] Trap SIGSEGV and SIGFPE

James Y Knight foom at fuhm.net
Thu Dec 11 17:40:28 CET 2008


On Dec 11, 2008, at 11:08 AM, Jeffrey Yasskin wrote:

> On Thu, Dec 11, 2008 at 1:34 AM, Victor Stinner
> <victor.stinner at haypocalc.com> wrote:
>> But if -as many people wrote-
>> Python is totally broken after a segfault, it is maybe not a good  
>> idea :-)
>
> While it's true that after a segfault or unexpected longjmp, there are
> no guarantees whatsoever about the state of the python program, the
> program will often just happen to work, and there are at least some
> programs I've worked on that would rather take the risk in order to
> try to shut down gracefully.

I ran an interactive game for years (written in C, mind you, not  
python), where the SIGSEGV handler simply recursively reinvoked the  
main loop, after disabling the command that caused a SEGV if it had  
caused a SEGV twice already. It almost always worked and continued  
running without issue. YMMV, of course. :)

James


More information about the Python-Dev mailing list