Mercurial > gnulib
view doc/posix-functions/select.texi @ 40246:c34f677e6117 default tip master
_Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
* lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
GCC 4.8.
author | Akim Demaille <akim.demaille@gmail.com> |
---|---|
date | Sun, 17 Mar 2019 19:27:20 +0100 |
parents | 02d9cc8c2263 |
children |
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 from this function 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. @item On some platforms, this function fails to detect invalid fds with EBADF, but only if they lie beyond the current maximum open fd: FreeBSD 8.2. @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