Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ select(2N) — A/UX 0.7

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

accept(2N)

connect(2N)

readv(2)

recv(2N)

send(2N)

writev(2)



     select(2N)                                             select(2N)



     NAME
          select - synchronous I/O multiplexing

     SYNOPSIS
          #include <sys/time.h>

          nfound = select(nfds, readfds, writefds, execptfds, timeout)
          int nfound, nfds, *readfds, *writefds, *execptfds;
          struct timeval *timeout;

          cc ... -lnet

     DESCRIPTION
          select examines the i/o descriptors specified by the bit
          masks readfds, writefds, and execptfds to see if they are
          ready for reading, writing, or have an exceptional condition
          pending, respectively.  File descriptor f is represented by
          the bit 1<<f in the mask.  nfds descriptors are checked,
          i.e. the bits from 0 through nfds-1 in the masks are
          examined.  returns, in place, a mask of those descriptors
          which are ready.  The total number of ready descriptors is
          returned in nfound.

          If timeout is a non-zero pointer, it specifies a maximum
          interval to wait for the selection to complete.  If timeout
          is a zero pointer, the select blocks indefinitely.  To
          affect a poll, the timeout argument should be non-zero,
          pointing to a zero valued timeval structure.

          Any of readfds, writefds, and execptfds may be given as 0 if
          no descriptors are of interest.

     RETURN VALUE
          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 select returns 0.

     ERRORS
          An error return from select indicates:

          [EBADF]        One of the bit masks specified an invalid
                         descriptor.

          [EINTR]        A signal was delivered before any of the
                         selected for events occurred or the time
                         limit expired.

     LINKING
          This library is accessed by specifying -lnet as the last
          argument to the compile line, e.g.:

            cc -o prog prog.c -lnet



     Page 1                                        (last mod. 1/14/87)





     select(2N)                                             select(2N)



     SEE ALSO
          accept(2N), connect(2N), readv(2), recv(2N), send(2N),
          writev(2).

     BUGS
          The descriptor masks are always modified on return, even if
          the call returns as the result of the timeout.
















































     Page 2                                        (last mod. 1/14/87)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026