view doc/posix-functions/write.texi @ 15607:6355dc4626b5

doc: Update regarding MSVC 9. * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely tested". * doc/posix-functions/*.texi: Update with info about MSVC 9. * doc/posix-headers/*.texi: Likewise. * doc/pastposix-functions/*.texi: Likewise. * doc/glibc-functions/*.texi: Likewise. * doc/glibc-headers/*.texi: Likewise.
author Bruno Haible <bruno@clisp.org>
date Sun, 11 Sep 2011 21:56:17 +0200 (2011-09-11)
parents 5ba0229c806b
children 8b34c7785c75
line wrap: on
line source
@node write
@section @code{write}
@findex write

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/write.html}

Gnulib module: write, nonblocking, sigpipe

Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}:
@itemize
@item
When writing to a non-blocking pipe whose buffer is full, this function fails
with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
platforms:
mingw, MSVC 9.
@item
When writing to a non-blocking pipe on which no reader is currently waiting
an amount of bytes that exceeds the pipe buffer's size, then -- even if the
pipe's buffer is empty -- this function fails, instead of performing a partial
write into the pipe buffer, on some platforms:
mingw, MSVC 9.
@end itemize

Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}:
@itemize
@item
When writing to a pipe with no readers, this function fails with error
@code{EINVAL}, instead of obeying the current @code{SIGPIPE} handler, 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-write} with a
function @code{safe_write}.