Mercurial > hg > octave-kai > gnulib-hg
view doc/posix-functions/select.texi @ 17082:62741e75b7c5
poll/select: document portability problems not fixed by Gnulib.
* doc/posix-functions/poll.texi: poll does not work well on
pipes under Windows. It has the same limitations as select on
BeOS.
* doc/posix-functions/select.texi: select does not work well
on pipes under Windows.
author | Paolo Bonzini <pbonzini@redhat.com> |
---|---|
date | Thu, 13 Sep 2012 08:51:16 +0200 |
parents | d9d661219067 |
children | e71d6495bb31 |
line wrap: on
line source
@node select @section @code{select} @findex select POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/select.html} Gnulib module: select Portability problems fixed by Gnulib: @itemize @item On Windows platforms (excluding Cygwin), @code{select} can only be called on descriptors created by the @code{socket} function, not on regular file descriptors. @item On Windows platforms (excluding Cygwin), error codes for @code{accept} are not placed in @code{errno}, and @code{WSAGetLastError} must be used instead. @item This function fails when the @code{nfds} argument is 0 on some platforms: Interix 3.5. @end itemize Portability problems not fixed by Gnulib: @itemize @item When you call @code{select} with a timeout, some implementations modify the timeout parameter so that upon return from the function, it contains the amount of time not slept. Other implementations leave the timeout parameter unmodified. @item On BeOS, @code{select} can only be called on descriptors created by the @code{socket} function, not on regular file descriptors. @item Under Windows, when passing a pipe, Gnulib's @code{select} replacement might return 0 even before the timeout has passed. Programs using it with pipes can thus busy wait. @item On Solaris 2.6 and older, @code{select} applied to a file descriptor opened for reading and associated with @code{/dev/null} hangs, waiting for input, when instead it should return immediately. @item On Linux, when some file descriptor refers to a regular file, @code{select} may fail, setting @code{errno} to @code{EBADF}. @item This function is declared in @code{<unistd.h>}, not @code{<sys/select.h>}, on some platforms: IRIX 5.3. @end itemize