Next: , Previous: , Up: posix fd select   [Index]


4.13.6.2 Selecting events to wait for

Function: select nfds read-fds write-fds except-fds sec usec

Interface to the C function select(), (libc)select. Wait for read, write or exceptional events on selected lists of file descriptors.

nfds must be false or a non–negative fixnum, when false it defaults to the maximum file descriptor value in the given lists; it is the maximum file descriptor number in the sets to be checked for events, plus one. read-fds, write-fds and except-fds must be nil or lists of file descriptors to be checked for events. sec and usec must be fixnums representing timeout seconds and microseconds.

If the timeout expires before any event arrives: return 3 values all being nil. If an error occurs: raise an exception. Else return 3 values being lists of file descriptors, respectively, ready for reading, writing or an exceptional condition.

Function: select-fd fd sec usec
Function: select-port port sec usec

Interface to the C function select(), (libc)select. Wait for read, write or exceptional events on the single file descriptor fd or port having a file descriptor as device. sec and usec must be fixnums representing timeout seconds and microseconds.

If the timeout expires before any event arrives: return 3 values all being false. If an error occurs: raise an exception. Else return 3 values being #f or fd or port, respectively, if fd or port is ready for reading, writing or an exceptional condition.

Function: select-from-sets nfds read-fds write-fds except-fds sec usec

Interface to the C function select(), (libc)select. Wait for read, write or exceptional events on selected lists of file descriptors.

nfds must be false or a non–negative fixnum, when false it defaults to FD_SETSIZE; it must be the maximum file descriptor number in the sets to be checked for events, plus one.

read-fds, write-fds and except-fds must be #f or bytevectors, pointer objects or instances of memory-block holding an instance of the C language type fd_set; when #f or a NULL pointer: an empty fd_set is internally allocated and used.

sec and usec must be fixnums representing timeout seconds and microseconds.

If the timeout expires before any event arrives: return 3 values all being #f; if an error occurs: raise an exception; else return 3 values being read-fds, write-fds, except-fds.

Function: select-from-sets-array nfds fdsets sec usec

Interface to the C function select(), (libc)select. Wait for read, write or exceptional events on selected lists of file descriptors.

nfds must be false or a non–negative fixnum, when false it defaults to FD_SETSIZE; it must be the maximum file descriptor number in the sets to be checked for events, plus one. fdsets must be a bytevector, pointer object or instance of memory-block holding 3 contiguous instances of the C language type fd_set. sec and usec must be fixnums representing timeout seconds and microseconds.

If the timeout expires before any event arrives: return #f; if an error occurs: raise an exception; else return fdsets itself.


Next: , Previous: , Up: posix fd select   [Index]