diff options
author | Georg Brandl <georg@python.org> | 2013-10-06 19:22:42 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2013-10-06 19:22:42 (GMT) |
commit | c377fe2b968f8e1a5f276063a41cd4df75d4af2f (patch) | |
tree | cf93898988cfdccff0c499328eb994514bc2bd21 /Doc/library/signal.rst | |
parent | a072de14be1e8cd992404f300f0104fccedecaa9 (diff) | |
download | cpython-c377fe2b968f8e1a5f276063a41cd4df75d4af2f.zip cpython-c377fe2b968f8e1a5f276063a41cd4df75d4af2f.tar.gz cpython-c377fe2b968f8e1a5f276063a41cd4df75d4af2f.tar.bz2 |
Closes #1215: document better why it is not a good idea to catch e.g. SIGSEGV and refer to faulthandler.
Patch by Martin Pool.
Diffstat (limited to 'Doc/library/signal.rst')
-rw-r--r-- | Doc/library/signal.rst | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Doc/library/signal.rst b/Doc/library/signal.rst index 2a472fe..84e2836 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 |