Write "Mac OS X" instead of "MacOS X".
[gnulib.git] / doc / posix-functions / write.texi
1 @node write
2 @section @code{write}
3 @findex write
4
5 POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/write.html}
6
7 Gnulib module: write, nonblocking, sigpipe
8
9 Portability problems fixed by Gnulib module @code{stdio}, together with module @code{nonblocking}:
10 @itemize
11 @item
12 This function crashes when invoked with invalid arguments on some platforms:
13 MSVC 9.
14 @item
15 When writing to a non-blocking pipe whose buffer is full, this function fails
16 with @code{errno} being set to @code{ENOSPC} instead of @code{EAGAIN} on some
17 platforms:
18 mingw, MSVC 9.
19 @item
20 When writing to a non-blocking pipe on which no reader is currently waiting
21 an amount of bytes that exceeds the pipe buffer's size, then -- even if the
22 pipe's buffer is empty -- this function fails, instead of performing a partial
23 write into the pipe buffer, on some platforms:
24 mingw, MSVC 9.
25 @end itemize
26
27 Portability problems fixed by Gnulib module @code{stdio}, together with module @code{sigpipe}:
28 @itemize
29 @item
30 When writing to a pipe with no readers, this function fails with error
31 @code{EINVAL}, instead of obeying the current @code{SIGPIPE} handler, on
32 some platforms:
33 mingw, MSVC 9.
34 @end itemize
35
36 Portability problems not fixed by Gnulib:
37 @itemize
38 @item
39 This function may fail with error @code{EINTR}, even in programs that don't
40 install any signal handlers, on some platforms:
41 Mac OS X 10.5.
42 @end itemize
43
44 For handling @code{EINTR}, Gnulib provides a module @samp{safe-write} with a
45 function @code{safe_write}.