]> 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>
Sun, 25 Sep 2016 06:12:56 +0000 (08:12 +0200)
...and check !MDB_CLOEXEC in an 'if' rather than '#if'
to match its non-zero usage.

libraries/liblmdb/mdb.c

index b8ecfd87799d06545784d263eab8537f243cb285..087cb98bc1e753fa9a1c67ca4e8f524a802bbc8d 100644 (file)
@@ -4818,9 +4818,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
 #ifdef MDB_USE_SYSV_SEM
        int semid;
@@ -4848,10 +4848,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)) {