1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-18 23:42:00 +03:00
Files
gnulib/doc/posix-functions/read.texi
Bruno Haible 7bad64eadf read: Support for MSVC 9.
* lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
is not 1.
* lib/read.c (read_nothrow): New function.
(rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
read_nothrow.
* m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
invalid parameter handler.
(gl_PREREQ_READ): New macro.
* modules/read (Depends-on): Add msvc-inval.
(configure.ac): Invoke gl_PREREQ_READ.
* doc/posix-functions/read.texi: Mention the problem on MSVC.
2011-09-24 04:07:12 +02:00

31 lines
894 B
Plaintext

@node read
@section @code{read}
@findex read
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/read.html}
Gnulib module: stdio, nonblocking
Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}:
@itemize
@item
This function crashes when invoked with invalid arguments on some platforms:
MSVC 9.
@item
When reading from a non-blocking pipe whose buffer is empty, this function
fails with @code{errno} being set to @code{EINVAL} instead of @code{EAGAIN} on
some platforms:
mingw, MSVC 9.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
This function may fail with error @code{EINTR}, even in programs that don't
install any signal handlers, on some platforms:
MacOS X 10.5.
@end itemize
For handling @code{EINTR}, Gnulib provides a module @samp{safe-read} with a
function @code{safe_read}.