       select readfileIds ?writefileIds? ?exceptfileIds? ?timeout?
              This  command  allows an Extended Tcl program to wait on zero or
              more files being ready for for reading, writing, have an  excep-
              tional  condition  pending,  or  for a timeout period to expire.
              readFileIds,  writeFileIds,  exceptFileIds  are  each  lists  of
              fileIds,  as  returned  from open, to query.  An empty list ({})
              may be specified if a category is not used.

              The files specified by the readFileIds list are checked  to  see
              if  data  is available for reading. The writeFileIds are checked
              if the specified files are clear for writing.  The exceptFileIds
              are  checked  to  see  if  an exceptional condition has occurred
              (typically, an error).  The write and exception checking is most
              useful  on  devices,  however,  the read checking is very useful
              when  communicating  with  multiple  processes  through   pipes.
              Select considers data pending in the stdio input buffer for read
              files as being ready for reading, the files do.  not have to  be
              unbuffered.

              Timeout  is  a  floating point timeout value, in seconds.  If an
              empty list is supplied (or the parameter is  omitted),  then  no
              timeout  is  set.  If the value is zero, then the select command
              functions as a poll of the files, returning immediately even  if
              none are ready.

              If  the  timeout  period expires with none of the files becoming
              ready, then the command returns an empty  list.   Otherwise  the
              command returns a list of three elements, each of those elements
              is a list of the fileIds that are ready in the read,  write  and
              exception classes.  If none are ready in a class, then that ele-
              ment will be the null list.  For example:

                      select {file3 file4 file5} {file6 file7} {} 10.5

              could return

                      {file3 file4} {file6} {}

              or perhaps

                      file3 {} {}

              On Windows 95/NT, only sockets can be used with the select  com-
              mand.   Pipes,  as  returned  by  the open command, are not sup-
              ported.
