Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice(s), this list of conditions and the following disclaimer as
the first lines of this file unmodified other than the possible
addition of one or more copyright notices.
2. Redistributions in binary form...
(The comments found at the beginning of the groff file "man2/sigwaitinfo.2freebsd".)
sigtimedwait , sigwaitinfo
- wait for queued signals (REALTIME)
LIBRARY
Lb libc
SYNOPSIS
In signal.h
Ft int
Fo sigtimedwait
Fa const sigset_t *restrict set siginfo_t *restrict info
Fa const struct timespec *restrict timeout
Fc Ft int
Fn sigwaitinfo const sigset_t * restrict set siginfo_t * restrict info
DESCRIPTION
Fn sigtimedwait
system call is equivalent to
Fn sigwaitinfo
except that if none of the signals specified by
Fa set
are pending,
Fn sigtimedwait
waits for the time interval specified in the
Vt timespec
structure referenced by
Fa timeout .
If the
Vt timespec
structure pointed to by
Fa timeout
is zero-valued and if none of the signals specified by
Fa set
are pending, then
Fn sigtimedwait
returns immediately with an error.
Fa timeout
is the
pointer, the behavior is unspecified.
CLOCK_MONOTONIC
clock is used to measure the time interval specified by the
Fa timeout
argument.
Fn sigwaitinfo
system call selects the pending signal from the set specified by
Fa set .
Should any of multiple pending signals in the range
SIGRTMIN
SIGRTMAX
be selected, it shall be the lowest numbered one.
selection order between realtime and non-realtime signals, or
between multiple pending non-realtime signals, is unspecified.
If no signal in
Fa set
is pending at the time of the call, the calling thread
is suspended until one or more signals in
Fa set
become pending or until it is interrupted by an unblocked, caught signal.
Fn sigwaitinfo
system call is equivalent to the
Fn sigwait
system call if the
Fa info
argument is
If the
Fa info
argument is
non-
NULL
Fn sigwaitinfo
function is equivalent to
Fn sigwait ,
except that the selected signal number shall be stored in the
si_signo
member, and the cause of the signal shall be stored in the
si_code
member.
Besides this, the
Fn sigwaitinfo
Fn sigtimedwait
system calls may return
Er EINTR
if interrupted by signal, which is not allowed for the
Fn sigwait
function.
If any value is queued to the selected signal, the first such queued
value is dequeued and, if the info argument is
non-
NULL
the value is stored in the
si_value
member of
Fa info .
The system resource used to queue the signal
is released and returned to the system for other use.
If no value is queued,
the content of the
si_value
member is zero-valued.
If no further signals are
queued for the selected signal, the pending indication for that signal
is reset.
RETURN VALUES
Upon successful completion (that is, one of the signals specified by
Fa set
is pending or is generated)
Fn sigwaitinfo
Fn sigtimedwait
return the selected signal number.
Otherwise, the functions return a value of -1
and set the global variable
errno
to indicate the error.
ERRORS
Fn sigtimedwait
system call
will fail if:
Bq
Er EAGAIN
No signal specified by set was generated within the specified timeout period.
value less than zero or greater than or equal
to 1000 million.
Kernel only checks for this error if no signal is pending in set and it
is necessary to wait.
SEE ALSO
sigaction(2)
,
sigpending(2)
,
sigqueue(2)
,
sigsuspend(2)
,
sigwait(2)
,
pause(3),
pthread_sigmask3,
siginfo(3)
STANDARDS
Fn sigtimedwait
Fn sigwaitinfo
system calls conform to
St -p1003.1-96 .