The pselect function was introduced by -p1003.1g-2000 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
.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, 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.
The pselect function is implemented in the C library as a wrapper around select.
The pselect function returns the same values and under the same conditions as select.
The pselect function may fail for any of the reasons documented for select(2) and (if a signal mask is provided) sigprocmask(2).
kqueue(2), poll(2), select(2), sigprocmask(2)