]> Zhao Yanbai Git Server - minix.git/commitdiff
libc: revert inadvertent removal of O_CLOEXEC #ifndefs 74/674/1
authorThomas Veerman <thomas@minix3.org>
Fri, 12 Jul 2013 16:38:17 +0000 (18:38 +0200)
committerLionel Sambuc <lionel@minix3.org>
Fri, 12 Jul 2013 16:39:12 +0000 (18:39 +0200)
Change-Id: I15005181388280363f7aee546bd2ecc0cd5b37e6

lib/libc/db/recno/rec_open.c
lib/libc/gen/fts.c
lib/libc/gen/initdir.c

index cc1863fa14d0089f0869ce205a59dbd9fc9db736..fa5237572d4ab2ef3aac707550f2faa8a2b69ad2 100644 (file)
@@ -70,8 +70,15 @@ __rec_open(const char *fname, int flags, mode_t mode, const RECNOINFO *openinfo,
        dbp = NULL;
        /* Open the user's file -- if this fails, we're done. */
        if (fname != NULL) {
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
                if ((rfd = open(fname, flags | O_CLOEXEC, mode)) == -1)
                        return NULL;
+#if O_CLOEXEC == 0
+               if (fcntl(rfd, F_SETFD, FD_CLOEXEC) == -1)
+                       goto err;
+#endif
        }
 
        /* Create a btree in memory (backed by disk). */
index b83b0ab72a07e155349c552e35186fd4cbce1e6e..16af0d43b1f15acdfcfc80ef924af6058d7bada7 100644 (file)
@@ -213,6 +213,9 @@ fts_open(char * const *argv, int options,
         * and ".." are all fairly nasty problems.  Note, if we can't get the
         * descriptor we run anyway, just more slowly.
         */
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
        if (!ISSET(FTS_NOCHDIR)) {
                if ((sp->fts_rfd = open(".", O_RDONLY | O_CLOEXEC, 0)) == -1)
                        SET(FTS_NOCHDIR);
index 8c1785153e718f156b862d50599c70c6933b47c1..2ab6591a91cfc5b6c2a3a2bf56079393d5204a2b 100644 (file)
@@ -42,6 +42,10 @@ __RCSID("$NetBSD: initdir.c,v 1.3 2012/03/13 21:13:36 christos Exp $");
 #include <sys/featuretest.h>
 #include <sys/types.h>
 
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
 #endif
 
 #include "reentrant.h"