changeset 11859:27f6d88f60b1

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.
author Paolo Bonzini <bonzini@gnu.org>
date Thu, 20 Aug 2009 10:24:19 +0200
parents 76dbe14046dc
children c41f4ce30e36
files ChangeLog lib/cloexec.c lib/fcntl.in.h lib/popen-safer.c
diffstat 4 files changed, 19 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
+
+	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  <meyering@redhat.com>
 
 	consistently remove $@-t before redirecting to it
--- a/lib/cloexec.c
+++ b/lib/cloexec.c
@@ -24,10 +24,6 @@
 #include <unistd.h>
 #include <fcntl.h>
 
-#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. */
--- a/lib/fcntl.in.h
+++ b/lib/fcntl.in.h
@@ -67,6 +67,11 @@
 }
 #endif
 
+/* Fix up the FD_* macros.  */
+
+#ifndef FD_CLOEXEC
+# define FD_CLOEXEC 1
+#endif
 
 /* Fix up the O_* macros.  */
 
@@ -75,6 +80,12 @@
 # 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
--- 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