pselect(2) synchronous I/O multiplexing a la POSIX.1g


Lb libc


In sys/select.h Ft 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


The Fn 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 Fn select . The Fa timeout argument in Fn pselect points to a Vt const struct timespec rather than the (modifiable) Vt struct timeval used by Fn select ; as in Fn select , a null pointer may be passed to indicate that Fn pselect should wait indefinitely. Finally, Fa newsigmask specifies a signal mask which is set while waiting for input. When Fn 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 Fn pselect function returns the same values and under the same conditions as Fn select .


The Fn pselect function may fail for any of the reasons documented for select(2) and (if a signal mask is provided) sigprocmask(2).


The Fn pselect function conforms to St -p1003.1-2001 .


The Fn pselect function first appeared in Fx 5.0 .


The first implementation of Fn pselect function and this manual page were written by An Garrett Wollman Aq [email protected] .