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/write.texi
Bruno Haible 6b147027a1 Comments about EINTR.
* lib/safe-read.h: Explain the purpose of this module.
* lib/safe-write.h: Likewise.
* doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
module.
* doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
module.
Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
2011-07-03 13:36:43 +02:00

43 lines
1.4 KiB
Plaintext

@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.
@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.
@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.
@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}.