view doc/posix-functions/write.texi @ 17608:63e4133ca82e

relocatable-maint.texi: escape braces The change causes makeinfo 5.2 to fail: env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= makeinfo --no-split --reference-limit=2000 gnulib.texi ./relocatable-maint.texi:153: misplaced { ... Escaping the braces as per the attached patch seems to fix this.
author Daniel Albers <daniel@lbe.rs>
date Thu, 16 Jan 2014 12:56:52 +0100
parents 4e33322b32f8
children
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
This function crashes when invoked with invalid arguments on some platforms:
MSVC 9.
@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:
Mac OS X 10.5.
@end itemize

For handling @code{EINTR}, Gnulib provides a module @samp{safe-write} with a
function @code{safe_write}.