]> git.sur5r.net Git - openldap/commitdiff
mdb_env_open(): Keep mdb_env_set_flags() flags.
authorHallvard Furuseth <hallvard@openldap.org>
Mon, 15 Oct 2012 15:04:11 +0000 (17:04 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Mon, 15 Oct 2012 15:04:11 +0000 (17:04 +0200)
libraries/libmdb/mdb.c
libraries/libmdb/mdb.h

index 07ecf99eba2c40c5c6dfe350804cc2213e3beec7..cd2ad9a5103e05224dbb78bd4707cec592381247 100644 (file)
@@ -3155,6 +3155,7 @@ mdb_env_open(MDB_env *env, const char *path, unsigned int flags, mode_t mode)
                sprintf(dpath, "%s" DATANAME, path);
        }
 
+       flags |= env->me_flags;
        /* silently ignore WRITEMAP if we're only getting read access */
        if (F_ISSET(flags, MDB_RDONLY|MDB_WRITEMAP))
                flags ^= MDB_WRITEMAP;
index 1735fbd375605764ae56019792222191892d49b7..d78868cb08a8cae9c3febbf156fdb6607e2abd8c 100644 (file)
@@ -401,6 +401,7 @@ int  mdb_env_create(MDB_env **env);
         * @param[in] flags Special options for this environment. This parameter
         * must be set to 0 or by bitwise OR'ing together one or more of the
         * values described here.
+        * Flags set by mdb_env_set_flags() are also used.
         * <ul>
         *      <li>#MDB_FIXEDMAP
         *      use a fixed address for the mmap region. This flag must be specified
@@ -501,7 +502,7 @@ void mdb_env_close(MDB_env *env);
 
        /** @brief Set environment flags.
         *
-        * This may be used to set some flags that weren't already set during
+        * This may be used to set some flags in addition to those from
         * #mdb_env_open(), or to unset these flags.
         * @param[in] env An environment handle returned by #mdb_env_create()
         * @param[in] flags The flags to change, bitwise OR'ed together