pselect
- synchronous I/O multiplexing a la POSIX.1g
LIBRARY
Lb libc
SYNOPSIS
#include <sys/select.h> int
Fo pselect
Fa int nfds
Fa fd_set * restrict readfds
Fa fd_set * restrict writefds
Fa fd_set * restrict exceptfds
Fa const struct timespec * restrict timeout
Fa const sigset_t * restrict newsigmask
Fc
DESCRIPTION
The
pselect ();
function was introduced by
St -p1003.1g-2000
as a slightly stronger version of
select(2).
The
Fa nfds , readfds , writefds ,
and
Fa exceptfds
arguments are all identical to the analogous arguments of
select (.);
The
Fa timeout
argument in
pselect ();
points to a
Vt const struct timespec
rather than the (modifiable)
Vt struct timeval
used by
select (;);
as in
select (,);
a null pointer may be passed to indicate that
pselect ();
should wait indefinitely.
Finally,
Fa newsigmask
specifies a signal mask which is set while waiting for input.
When
pselect ();
returns, the original signal mask is restored.
See
select(2)
for a more detailed discussion of the semantics of this interface, and
for macros used to manipulate the
Vt fd_set
data type.
IMPLEMENTATION NOTES
The
pselect ();
function is implemented in the C library as a wrapper around
select (.);
RETURN VALUES
The
pselect ();
function returns the same values and under the same conditions as
select (.);
ERRORS
The
pselect ();
function may fail for any of the reasons documented for
select(2)
and (if a signal mask is provided)
sigprocmask(2).