mirror of
https://git.savannah.gnu.org/git/gnulib.git
synced 2025-08-17 12:41:05 +03:00
* lib/stdio.in.h (popen): Declare it if the system lacks this function. * lib/popen.c (popen): Provide alternate definition for native Windows. * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN. * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN. * modules/popen (Depends-on, configure.ac): Update condition. * modules/stdio (Makefile.am): Substitute HAVE_POPEN. * doc/posix-functions/popen.texi: Mention that the MSVC problem is fixed.
28 lines
713 B
Plaintext
28 lines
713 B
Plaintext
@node popen
|
|
@section @code{popen}
|
|
@findex popen
|
|
|
|
POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/popen.html}
|
|
|
|
Gnulib module: popen
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function is missing on some platforms:
|
|
MSVC 9.
|
|
@item
|
|
Some platforms start the child with closed stdin or stdout if the
|
|
standard descriptors were closed in the parent:
|
|
Cygwin 1.5.x.
|
|
@end itemize
|
|
|
|
Portability problems not fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
Some platforms mistakenly set the close-on-exec bit, then if it is
|
|
cleared by the application, the platform then leaks file descriptors
|
|
from earlier @code{popen} calls into subsequent @code{popen} children:
|
|
Cygwin 1.5.x.
|
|
@end itemize
|