summaryrefslogtreecommitdiff
path: root/doc/glibc-functions/pipe2.texi
blob: 78613d4b08fad6d62055241adb88713e408e5e1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@node pipe2
@subsection @code{pipe2}
@findex pipe2

Gnulib module: pipe2

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on many non-glibc platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 11.0, Cygwin 1.7.1, mingw, MSVC 14, Interix 3.5, BeOS.
But the replacement function is not atomic; this matters in multi-threaded
programs that spawn child processes.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function crashes rather than failing with @code{EMFILE} if no
resources are left on some platforms:
Cygwin 1.7.9.
@end itemize

Note: This function portably supports the @code{O_NONBLOCK} flag only if the
gnulib module @code{nonblocking} is also used.