pselect — synchronous I/O multiplexing a la POSIX.1g
Contents
Description
The pselect() function was introduced by IEEE Std 1003.1g-2000 (“POSIX.1”) as a slightly stronger version
of select(2). The nfds, readfds, writefds, and exceptfds arguments are all identical to the analogous
arguments of select(). The timeout argument in pselect() points to a conststructtimespec rather than
the (modifiable) structtimeval used by select(); as in select(), a null pointer may be passed to
indicate that pselect() should wait indefinitely. Finally, 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 fd_set data type.
Errors
The pselect() function may fail for any of the reasons documented for select(2) and (if a signal mask is
provided) sigprocmask(2).
History
The pselect() function first appeared in FreeBSD 5.0.
Library
Standard C Library (libc, -lc)
Name
pselect — synchronous I/O multiplexing a la POSIX.1g
Return Values
The pselect() function returns the same values and under the same conditions as select().
See Also
kqueue(2), poll(2), select(2), sigprocmask(2), sigsuspend(2)
Standards
The pselect() function conforms to IEEE Std 1003.1-2001 (“POSIX.1”).
Synopsis
#include<sys/select.h>intpselect(intnfds, fd_set*restrictreadfds, fd_set*restrictwritefds, fd_set*restrictexceptfds,
conststructtimespec*restricttimeout, constsigset_t*restrictnewsigmask);
