From: Georg Brandl Date: Sun, 6 Oct 2013 19:22:42 +0000 (+0200) Subject: Closes #1215: document better why it is not a good idea to catch e.g. SIGSEGV and... X-Git-Tag: v3.4.0a4~217^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c377fe2b968f8e1a5f276063a41cd4df75d4af2f;p=thirdparty%2FPython%2Fcpython.git Closes #1215: document better why it is not a good idea to catch e.g. SIGSEGV and refer to faulthandler. Patch by Martin Pool. --- diff --git a/Doc/library/signal.rst b/Doc/library/signal.rst index 2a472fe57a4e..84e283683d07 100644 --- a/Doc/library/signal.rst +++ b/Doc/library/signal.rst @@ -36,7 +36,11 @@ at a later point(for example at the next :term:`bytecode` instruction). This has consequences: * It makes little sense to catch synchronous errors like :const:`SIGFPE` or - :const:`SIGSEGV`. + :const:`SIGSEGV` that are caused by an invalid operation in C code. Python + will return from the signal handler to the C code, which is likely to raise + the same signal again, causing Python to apparently hang. From Python 3.3 + onwards, you can use the :mod:`faulthandler` module to report on synchronous + errors. * A long-running calculation implemented purely in C (such as regular expression matching on a large body of text) may run uninterrupted for an diff --git a/Misc/ACKS b/Misc/ACKS index 400f5288d162..0a49abf227cc 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -974,6 +974,7 @@ Oleg Plakhotnyuk Remi Pointel Guilherme Polo Michael Pomraning +Martin Pool Iustin Pop Claudiu Popa John Popplewell