STINNER Victor <victor.stin...@haypocalc.com> added the comment: > def handler(signal, stackframe): > print "OUCH" > stdout.flush() > _exit(1)
What do you want to do on a SIGSEGV? On a real fault, you cannot rely on Python internal state, you cannot use any Python object. To handle a real SIGSEGV fault, you have to implement a signal handler using only *signal safe* functions.... in C. See faulthandler_fatal_error() function: https://github.com/haypo/faulthandler/blob/master/faulthandler.c#L257 > The documentation for this can now point to the faulthandler module > (in Python 3). For your information, faulthandler is available for Python older than 3.3 as a third party module: http://pypi.python.org/pypi/faulthandler > segfault is the following C module: For tests, you can use ctypes.string_at(0) to read a word from NULL. -- faulthandler installs a signal handler for SIGSEGV, SIGFPE, SIGABRT, SIGBUS and SIGILL signals: http://docs.python.org/dev/library/faulthandler.html ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue1215> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com