The sigsuspend(2) man page doesn't spell out explicitly what happens
for signals that are discarded, either as the default action or
where the handler is set to SIG_IGN.  I think it should.

OK?

 - todd

Index: lib/libc/sys/sigsuspend.2
===================================================================
RCS file: /cvs/src/lib/libc/sys/sigsuspend.2,v
retrieving revision 1.14
diff -u -p -u -r1.14 sigsuspend.2
--- lib/libc/sys/sigsuspend.2   29 May 2017 09:40:02 -0000      1.14
+++ lib/libc/sys/sigsuspend.2   10 May 2023 17:25:44 -0000
@@ -44,12 +44,15 @@
 .Fn sigsuspend
 temporarily changes the blocked signal mask to the set to which
 .Fa sigmask
-points,
-and then waits for a signal to arrive;
-on return the previous set of masked signals is restored.
-The signal mask set
-is usually empty to indicate that all
+points, then waits for a signal to arrive that either has a handler
+installed or that terminates the process.
+On return, the previous set of masked signals is restored.
+The signal mask set is usually empty to indicate that all
 signals are to be unblocked for the duration of the call.
+Signals that are discarded by default, or that have the handler set to
+.Dv SIG_IGN ,
+will not interrupt
+.Nm .
 .Pp
 In normal usage, a signal is blocked using
 .Xr sigprocmask 2

Reply via email to