]> git.sur5r.net Git - openldap/commitdiff
Clean up strange fcntl result check
authorHallvard Furuseth <hallvard@openldap.org>
Tue, 6 Sep 2016 15:56:13 +0000 (17:56 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Thu, 15 Dec 2016 21:27:33 +0000 (22:27 +0100)
...and check !MDB_CLOEXEC in an 'if' rather than '#if'
to match its non-zero usage.

libraries/liblmdb/mdb.c

index 9c85230a6bcc67b2191ec732b285bd8024310c12..36d50b82bbb587fd07cfbef7a9d00aad78597a59 100644 (file)
@@ -4499,9 +4499,9 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl)
 #ifdef O_CLOEXEC       /* Linux: Open file and set FD_CLOEXEC atomically */
 #      define MDB_CLOEXEC              O_CLOEXEC
 #else
-       int fdflags;
 #      define MDB_CLOEXEC              0
 #endif
+       int fdflags;
 #endif
        int rc;
        off_t size, rsize;
@@ -4525,10 +4525,10 @@ mdb_env_setup_locks(MDB_env *env, char *lpath, int mode, int *excl)
                }
                goto fail;
        }
-#if ! ((MDB_CLOEXEC) || defined(_WIN32))
+#ifndef _WIN32
        /* Lose record locks when exec*() */
-       if ((fdflags = fcntl(env->me_lfd, F_GETFD) | FD_CLOEXEC) >= 0)
-                       fcntl(env->me_lfd, F_SETFD, fdflags);
+       if (!(MDB_CLOEXEC) && (fdflags = fcntl(env->me_lfd, F_GETFD)) != -1)
+                       fcntl(env->me_lfd, F_SETFD, fdflags | FD_CLOEXEC);
 #endif
 
        if (!(env->me_flags & MDB_NOTLS)) {