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:
in a multithreaded application, the disposition of a
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"
A signal may be
.IR blocked ,
@ -98,6 +106,12 @@ In a traditional single-threaded application,
.BR sigprocmask (2)
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)
for a process as a whole (e.g., when sent using
.BR kill (2))
@ -121,6 +135,12 @@ using
This set will consist of the union of the set of pending
process-directed signals and the set of signals pending for
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"
Linux supports the standard signals listed below.
Several signal numbers