Hash :
25399c1a
Author :
Date :
2011-09-17T18:28:17
popen: Support for MSVC. * 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.
@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