From 06287aca29b4820be21cfef34e8e082412efe1cb Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Sat, 14 Nov 2020 07:48:58 +0100 Subject: [PATCH] sigaction.2: Clarify description of SA_NODEFER Clarify description of SA_NODEFER, and note interaction with act.sa_mask. Signed-off-by: Michael Kerrisk --- man2/sigaction.2 | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/man2/sigaction.2 b/man2/sigaction.2 index 72c3565f9..8e83da85b 100644 --- a/man2/sigaction.2 +++ b/man2/sigaction.2 @@ -204,9 +204,11 @@ signal is generated in this case; on some other implementations, it is not. .TP .B SA_NODEFER -Do not prevent the signal from being received from within its own signal -handler (i.e., do not add the signal to the thread's signal mask while the -handler is executing). +Do not add the signal to the thread's signal mask while the +handler is executing, unless the signal is specified in +.IR act.sa_mask . +Consequently, a further instance of the signal may be delivered +to the thread while it is executing the handler. This flag is meaningful only when establishing a signal handler. .IP .B SA_NOMASK @@ -1037,6 +1039,7 @@ prevents not only the delivered signal from being masked during execution of the handler, but also the signals specified in .IR sa_mask . This bug was fixed in kernel 2.6.14. +.\" commit 69be8f189653cd81aae5a74e26615b12871bb72e .SH EXAMPLES See .BR mprotect (2).