Hash :
20a4d1d3
Author :
Date :
2012-09-13T08:55:08
poll: fix for systems that can't recv() on a non-socket * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor is readable. In this case POLLHUP will not be supported. * doc/posix-functions/poll.texi: Document this. Copyright-paperwork-exempt: yes
@node poll
@section @code{poll}
@findex poll
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/poll.html}
Gnulib module: poll
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
mingw, MSVC 9, BeOS, HP NonStop.
@item
This function doesn't work on special files like @file{/dev/null} and ttys like
@file{/dev/tty} on some platforms:
Mac OS X 10.4.0, AIX 5.3.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
Under BeOS, Gnulib's @code{poll} replacement 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{poll} replacement might
return 0 even before the timeout has passed. Programs using it with pipes can
thus busy wait.
@item
Under HP NonStop, file descriptors other than sockets do not support
POLLHUP; they will return a "readable" status instead.
@end itemize