Clarify the behaviour of sigwait() on signal interruption, and note

the difference between sigwait() and sigtimedwait()/sigwaitinfo().

Approved by:	re (bz)
This commit is contained in:
Konstantin Belousov 2011-08-25 10:00:38 +00:00
parent c5378361a3
commit 745e9ba27d
2 changed files with 20 additions and 2 deletions

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd November 11, 2005
.Dd August 24, 2011
.Dt SIGWAIT 2
.Os
.Sh NAME
@ -82,6 +82,14 @@ selected, it will be the lowest numbered one.
The selection order between realtime
and non-realtime signals, or between multiple pending non-realtime signals,
is unspecified.
.Sh IMPLEMENTATION NOTES
The
.Fn sigwait
function is implemented as a wrapper around the
.Fn __sys_sigwait
system call, which retries the call on
.Er EINTR
error.
.Sh RETURN VALUES
If successful,
.Fn sigwait

View File

@ -27,7 +27,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd November 11, 2005
.Dd August 24, 2011
.Dt SIGTIMEDWAIT 2
.Os
.Sh NAME
@ -116,6 +116,16 @@ except that the selected signal number shall be stored in the
member, and the cause of the signal shall be stored in the
.Va si_code
member.
Besides this, the
.Fn sigwaitinfo
and
.Fn sigtimedwait
system calls may return
.Er EINTR
if interrupted by signal, which is not allowed for the
.Fn sigwait
function.
.Pp
If any value is queued to the selected signal, the first such queued
value is dequeued and, if the info argument is
.Pf non- Dv NULL ,