[Python-checkins] Document most common signals (GH-19245) (GH-19257)

Victor Stinner webhook-mailer at python.org
Tue Mar 31 13:44:35 EDT 2020


https://github.com/python/cpython/commit/40e1b04e389f2f6d4d31079d5622fc27af6ebed7
commit: 40e1b04e389f2f6d4d31079d5622fc27af6ebed7
branch: 3.8
author: Victor Stinner <vstinner at python.org>
committer: GitHub <noreply at github.com>
date: 2020-03-31T19:44:28+02:00
summary:

Document most common signals (GH-19245) (GH-19257)

Document individual signals (only the most common signals):
description, default action, availability.

(cherry picked from commit 400e1dbcad93061f1f7ab4735202daaa5e731507)

files:
M Doc/library/signal.rst
M Python/pylifecycle.c

diff --git a/Doc/library/signal.rst b/Doc/library/signal.rst
index 932201b0e9d7d..5488f4a1f9685 100644
--- a/Doc/library/signal.rst
+++ b/Doc/library/signal.rst
@@ -91,6 +91,110 @@ The variables defined in the :mod:`signal` module are:
    signal.
 
 
+.. data:: SIGABRT
+
+   Abort signal from :manpage:`abort(3)`.
+
+.. data:: SIGALRM
+
+   Timer signal from :manpage:`alarm(2)`.
+
+   .. availability:: Unix.
+
+.. data:: SIGBREAK
+
+   Interrupt from keyboard (CTRL + BREAK).
+
+   .. availability:: Windows.
+
+.. data:: SIGBUS
+
+   Bus error (bad memory access).
+
+   .. availability:: Unix.
+
+.. data:: SIGCHLD
+
+   Child process stopped or terminated.
+
+   .. availability:: Windows.
+
+.. data:: SIGCLD
+
+   Alias to :data:`SIGCHLD`.
+
+.. data:: SIGCONT
+
+   Continue the process if it is currently stopped
+
+   .. availability:: Unix.
+
+.. data:: SIGFPE
+
+   Floating-point exception. For example, division by zero.
+
+   .. seealso::
+      :exc:`ZeroDivisionError` is raised when the second argument of a division
+      or modulo operation is zero.
+
+.. data:: SIGHUP
+
+   Hangup detected on controlling terminal or death of controlling process.
+
+   .. availability:: Unix.
+
+.. data:: SIGILL
+
+   Illegal instruction.
+
+.. data:: SIGINT
+
+   Interrupt from keyboard (CTRL + C).
+
+   Default action is to raise :exc:`KeyboardInterrupt`.
+
+.. data:: SIGKILL
+
+   Kill signal.
+
+   It cannot be caught, blocked, or ignored.
+
+   .. availability:: Unix.
+
+.. data:: SIGPIPE
+
+   Broken pipe: write to pipe with no readers.
+
+   Default action is to ignore the signal.
+
+   .. availability:: Unix.
+
+.. data:: SIGSEGV
+
+   Segmentation fault: invalid memory reference.
+
+.. data:: SIGTERM
+
+   Termination signal.
+
+.. data:: SIGUSR1
+
+   User-defined signal 1.
+
+   .. availability:: Unix.
+
+.. data:: SIGUSR2
+
+   User-defined signal 2.
+
+   .. availability:: Unix.
+
+.. data:: SIGWINCH
+
+   Window resize signal.
+
+   .. availability:: Unix.
+
 .. data:: SIG*
 
    All the signal numbers are defined symbolically.  For example, the hangup signal
@@ -297,6 +401,8 @@ The :mod:`signal` module defines the following functions:
    For example, ``signal.pthread_sigmask(signal.SIG_BLOCK, [])`` reads the
    signal mask of the calling thread.
 
+   :data:`SIGKILL` and :data:`SIGSTOP` cannot be blocked.
+
    .. availability:: Unix.  See the man page :manpage:`sigprocmask(3)` and
       :manpage:`pthread_sigmask(3)` for further information.
 
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index feb9285239240..27cebf33da544 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -2311,7 +2311,7 @@ init_signals(void)
 #ifdef SIGXFSZ
     PyOS_setsig(SIGXFSZ, SIG_IGN);
 #endif
-    PyOS_InitInterrupts(); /* May imply initsignal() */
+    PyOS_InitInterrupts(); /* May imply init_signals() */
     if (PyErr_Occurred()) {
         return _PyStatus_ERR("can't import signal");
     }



More information about the Python-checkins mailing list