From 2dce770482f30d1f07b3e99fd0d21b06f6e800fd Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 20 Aug 2009 10:24:19 +0200 Subject: [PATCH] Move more flags to lib/fcntl.in.h. * lib/cloexec.c: Do not define FD_CLOEXEC here. * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here. * lib/fcntl.in.h: Do both things here. --- ChangeLog | 7 +++++++ lib/cloexec.c | 4 ---- lib/fcntl.in.h | 11 +++++++++++ lib/popen-safer.c | 4 +--- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8210003cfd..a1b015d030 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-08-21 Paolo Bonzini + + fcntl: move more flags to the header + * lib/cloexec.c: Do not define FD_CLOEXEC here. + * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here. + * lib/fcntl.in.h: Do both things here. + 2009-08-21 Jim Meyering consistently remove $@-t before redirecting to it diff --git a/lib/cloexec.c b/lib/cloexec.c index ff8105ba02..0fb227c0a2 100644 --- a/lib/cloexec.c +++ b/lib/cloexec.c @@ -24,10 +24,6 @@ #include #include -#ifndef FD_CLOEXEC -# define FD_CLOEXEC 1 -#endif - /* Set the `FD_CLOEXEC' flag of DESC if VALUE is true, or clear the flag if VALUE is false. Return 0 on success, or -1 on error with `errno' set. */ diff --git a/lib/fcntl.in.h b/lib/fcntl.in.h index fd7520e8da..a688fb4bbf 100644 --- a/lib/fcntl.in.h +++ b/lib/fcntl.in.h @@ -67,6 +67,11 @@ extern void _gl_register_fd (int fd, const char *filename); } #endif +/* Fix up the FD_* macros. */ + +#ifndef FD_CLOEXEC +# define FD_CLOEXEC 1 +#endif /* Fix up the O_* macros. */ @@ -75,6 +80,12 @@ extern void _gl_register_fd (int fd, const char *filename); # define O_DIRECT O_DIRECTIO #endif +#if !defined O_CLOEXEC && defined O_NOINHERIT +/* Mingw spells it `O_NOINHERIT'. Intentionally leave it + undefined if not available. */ +# define O_CLOEXEC O_NOINHERIT +#endif + #ifndef O_DIRECT # define O_DIRECT 0 #endif diff --git a/lib/popen-safer.c b/lib/popen-safer.c index 2182a2c03c..1905be5ecb 100644 --- a/lib/popen-safer.c +++ b/lib/popen-safer.c @@ -27,9 +27,7 @@ #include "cloexec.h" -#if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ -# define O_CLOEXEC O_NOINHERIT -#elif !defined O_CLOEXEC +#ifndef O_CLOEXEC # define O_CLOEXEC 0 #endif -- 2.30.2