Annotation of cci/usr/src/man/man2/select.2, revision 1.1.1.1

1.1       root        1: .TH SELECT 2 "2 July 1983"
                      2: .UC 4
                      3: .SH NAME
                      4: select \- synchronous i/o multiplexing
                      5: .SH SYNOPSIS
                      6: .nf
                      7: .ft B
                      8: #include <sys/time.h>
                      9: .PP
                     10: .ft B
                     11: nfound = select(nfds, readfds, writefds, execptfds, timeout)
                     12: int nfound, nfds, *readfds, *writefds, *execptfds;
                     13: struct timeval *timeout;
                     14: .fi
                     15: .SH DESCRIPTION
                     16: .I Select
                     17: examines the i/o descriptors specified by the bit masks
                     18: .IR readfds ,
                     19: .IR writefds ,
                     20: and
                     21: .I execptfds
                     22: to see if they are ready for reading, writing, or have an exceptional
                     23: condition pending, respectively.
                     24: File descriptor 
                     25: .I f
                     26: is represented by the bit \*(lq1<<f\*(rq in
                     27: the mask.
                     28: .I Nfds
                     29: desciptors are checked,
                     30: i.e. the bits from 0 through
                     31: .IR nfds -1
                     32: in the masks are examined.
                     33: .I Select
                     34: returns, in place, a mask of those descriptors which are ready.
                     35: The total number of ready descriptors is returned in
                     36: .IR nfound .
                     37: .PP
                     38: If
                     39: .I timeout
                     40: is a non-zero pointer, it specifies a maximum interval to wait for the
                     41: selection to complete.  If 
                     42: .I timeout
                     43: is a zero pointer, the select blocks indefinitely.  To affect a poll, the
                     44: .I timeout
                     45: argument should be non-zero, pointing to a zero valued timeval structure.
                     46: .PP
                     47: Any of
                     48: .IR readfds ,
                     49: .IR writefds ,
                     50: and
                     51: .I execptfds
                     52: may be given as 0 if no descriptors are of interest.
                     53: .SH "RETURN VALUE
                     54: .I Select
                     55: returns the number of descriptors which are contained in
                     56: the bit masks,
                     57: or \-1 if an error occurred.
                     58: If the time limit expires then
                     59: .I select
                     60: returns 0.
                     61: .SH "ERRORS
                     62: An error return from \fIselect\fP indicates:
                     63: .TP 15
                     64: [EBADF]
                     65: One of the bit masks specified an invalid descriptor.
                     66: .TP 15
                     67: [EINTR]
                     68: An signal was delivered before any of the selected for
                     69: events occurred or the time limit expired.
                     70: .SH SEE ALSO
                     71: accept(2), connect(2), read(2), write(2), recv(2), send(2)
                     72: .SH BUGS
                     73: The descriptor masks are always modified on return, even
                     74: if the call returns as the result of the timeout.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.