FreeBSD Manual Pages
PSELECT(2) System Calls Manual PSELECT(2) NAME pselect -- synchronous I/O multiplexing a la POSIX.1g LIBRARY Standard C Library (libc, -lc) SYNOPSIS #include <sys/select.h> int pselect(int nfds, fd_set * restrict readfds, fd_set * restrict writefds, fd_set * restrict exceptfds, const struct timespec * restrict timeout, const sigset_t * restrict newsigmask); 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 const struct timespec rather than the potentially modifi- able struct timeval used by select(); as in select(), a null pointer may be passed to indicate that pselect() should wait indefinitely. Fi- nally, newsigmask specifies a signal mask which is set while waiting for input. When pselect() returns, the original signal mask is re- stored. If newsigmask is a null pointer, pselect() behaves like select() with no setting or restoration of the signal mask. 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. RETURN VALUES The pselect() function returns the same values and under the same con- ditions 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). 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"). HISTORY The pselect() function first appeared in FreeBSD 5.0. AUTHORS The first implementation of pselect() function and this manual page were written by Garrett Wollman <wollman@FreeBSD.org>. FreeBSD 13.2 July 2, 2022 PSELECT(2)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY | AUTHORS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pselect&sektion=2&manpath=FreeBSD+14.2-RELEASE+and+Ports>