signal.7: describe semantics w.r.t. fork() and execve()

Include text describing semantics of fork() and execve() for
signal dispositions, signal mask, and pending signal set.

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2008-10-04 08:33:53 +02:00
parent 3fb46b2b3b
commit d5c8829874
1 changed files with 20 additions and 0 deletions

View File

@ -81,6 +81,14 @@ when the signal is delivered.
The signal disposition is a per-process attribute: The signal disposition is a per-process attribute:
in a multithreaded application, the disposition of a in a multithreaded application, the disposition of a
particular signal is the same for all threads. particular signal is the same for all threads.
A child created via
.BR fork (2)
inherits a copy of its parent's signal dispositions.
During an
.BR execve (2),
the dispositions of handled signals are reset to the default;
the dispositions of ignored signals are left unchanged.
.SS "Signal Mask and Pending Signals" .SS "Signal Mask and Pending Signals"
A signal may be A signal may be
.IR blocked , .IR blocked ,
@ -98,6 +106,12 @@ In a traditional single-threaded application,
.BR sigprocmask (2) .BR sigprocmask (2)
can be used to manipulate the signal mask. can be used to manipulate the signal mask.
A child created via
.BR fork (2)
inherits a copy of its parent's signal mask;
the signal mask is preserved across
.BR execve (2).
A signal may be generated (and thus pending) A signal may be generated (and thus pending)
for a process as a whole (e.g., when sent using for a process as a whole (e.g., when sent using
.BR kill (2)) .BR kill (2))
@ -121,6 +135,12 @@ using
This set will consist of the union of the set of pending This set will consist of the union of the set of pending
process-directed signals and the set of signals pending for process-directed signals and the set of signals pending for
the calling thread. the calling thread.
A child created via
.BR fork (2)
initially has an empty pending signal set;
the pending signal set is preserved across an
.BR execve (2).
.SS "Standard Signals" .SS "Standard Signals"
Linux supports the standard signals listed below. Linux supports the standard signals listed below.
Several signal numbers Several signal numbers