select(2). The arguments to the functions exposed
here must fulfill the same requirements as the arguments for
select itself; see the man page.
select call made by any of these functions is interrupted
EINTR) before the
given time has elapsed, the call will be retried. If the specified
amount of time has passed and
select is still being interrupted,
the functions below will make one last attempt with timeout
zero. If that call too is interrupted, behavior will be as if
select returned an error.
A simpler version of
select that uses file descriptor lists
Nothing is returned in case
an error, otherwise
is returned, where
Just (rfds, wfds, efds)
efds are lists of ready file descriptors (they
may be empty, such as in the case of
select timing out).