Branch
Hash :
c36a0f21
Author :
Date :
2024-10-27T17:01:29
doc: Add a module index. * doc/Makefile (undocumented-modules.texi): New rule. (%.info, %.html, %.dvi, %.pdf): Depend on undocumented-modules.texi. (mostlyclean): Remove also *.m and *.tmp. (force): New rule. * doc/*.texi: Add module index entries. * doc/*/*.texi: Likewise.
@node pipe2
@subsection @code{pipe2}
@findex pipe2
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/pipe2.html}
Documentation:@* @uref{https://www.kernel.org/doc/man-pages/online/pages/man2/pipe2.2.html,,man pipe2}
Gnulib module: pipe2
@mindex pipe2
Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on many non-glibc platforms:
glibc 2.8, macOS 14, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 11.3, Cygwin 1.7.1, mingw, MSVC 14, Android 2.2.
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
@mindex nonblocking
Note: This function portably supports the @code{O_NONBLOCK} flag only if the
gnulib module @code{nonblocking} is also used.