pipe2, assign4: document lack of thread-safety in replacement
[gnulib.git] / doc / glibc-functions / pipe2.texi
1 @node pipe2
2 @subsection @code{pipe2}
3 @findex pipe2
4
5 Gnulib module: pipe2
6
7 Portability problems fixed by Gnulib:
8 @itemize
9 @item
10 This function is missing on many non-glibc platforms:
11 MacOS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11,
12 IRIX 6.5, OSF/1 5.1, Solaris 11 2011-11, Cygwin 1.7.1, mingw, MSVC 9, Interix 3.5, BeOS.
13 But the replacement function is not atomic in multi-threaded programs.
14 @end itemize
15
16 Portability problems not fixed by Gnulib:
17 @itemize
18 @item
19 This function crashes rather than failing with @code{EMFILE} if no
20 resources are left on some platforms:
21 Cygwin 1.7.9.
22 @end itemize
23
24 Note: This function portably supports the @code{O_NONBLOCK} flag only if the
25 gnulib module @code{nonblocking} is also used.