summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2013-10-06 19:22:42 (GMT)
committerGeorg Brandl <georg@python.org>2013-10-06 19:22:42 (GMT)
commitc377fe2b968f8e1a5f276063a41cd4df75d4af2f (patch)
treecf93898988cfdccff0c499328eb994514bc2bd21
parenta072de14be1e8cd992404f300f0104fccedecaa9 (diff)
downloadcpython-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.
-rw-r--r--Doc/library/signal.rst6
-rw-r--r--Misc/ACKS1
2 files changed, 6 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
diff --git a/Misc/ACKS b/Misc/ACKS
index 400f528..0a49abf 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