BSD 4_1c_2 development
authorCSRG <csrg@ucbvax.Berkeley.EDU>
Tue, 1 Mar 1983 06:59:15 +0000 (22:59 -0800)
committerCSRG <csrg@ucbvax.Berkeley.EDU>
Tue, 1 Mar 1983 06:59:15 +0000 (22:59 -0800)
Work on file usr/man/man2/select.2

Synthesized-from: CSRG/cd1/4.1c.2

usr/man/man2/select.2 [new file with mode: 0644]

diff --git a/usr/man/man2/select.2 b/usr/man/man2/select.2
new file mode 100644 (file)
index 0000000..89dc480
--- /dev/null
@@ -0,0 +1,64 @@
+.TH SELECT 2 2/12/83
+.SH NAME
+select \- synchronous i/o multiplexing
+.SH SYNOPSIS
+.nf
+.ft B
+#include <time.h>
+.PP
+.ft B
+nfds = select(nfds, readfds, writefds, execptfds, timeout)
+int nfds, *readfds, *writefds, *execptfds;
+struct timeval *timeout;
+.fi
+.SH DESCRIPTION
+.I Select
+examines the i/o descriptors specified by the bit masks
+.IR readfds ,
+.IR writefds ,
+and
+.I execptfds
+to see if they are ready for reading, writing, or have an exceptional
+condition pending, respectively.
+File descriptor 
+.I f
+is represented by the bit \*(lq1<<f\*(rq in
+the mask.
+.I Select
+returns, in place, a mask of those descriptors which are ready.
+The total number of ready descriptors is returned in
+.IR nfds .
+.PP
+If
+.I timeout
+is a non-zero pointer, it specifies a maximum interval to wait for the
+selection to complete.  If 
+.I timeout
+is a zero pointer, the select blocks indefinitely.  To affect a poll, the
+.I timeout
+argument should be non-zero, pointing to a zero valued timeval structure.
+.PP
+Any of
+.IR readfds ,
+.IR writefds ,
+and
+.I execptfds
+may be given as 0 if no descriptors are of interest.
+.SH "RETURN VALUE
+.I Select
+returns the number of descriptors which are contained in
+the bit masks,
+or \-1 if an error occurred.
+If the time limit expires then
+\Iselect\fP returns 0.
+.SH "ERRORS
+An error return from \fIselect\fP indicates:
+.TP 15
+[EBADF]
+One of the bit masks specified an invalid descriptor.
+.TP 15
+[EINTR]
+An signal was delivered before any of the selected for
+events occured or the time limit expired.
+.SH SEE ALSO
+accept(2), connect(2), read(2), write(2), recv(2), send(2)