]> git.sur5r.net Git - openldap/commitdiff
Fix for dbnosync - DB_TXN_NOSYNC is not a valid flag for dbenv_open,
authorHoward Chu <hyc@openldap.org>
Mon, 5 Nov 2001 07:01:12 +0000 (07:01 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 5 Nov 2001 07:01:12 +0000 (07:01 +0000)
must be set later using dbenv_set_flags.

servers/slapd/back-bdb/init.c

index d39802d9427d22930276854b5d59203b1ce12d1e..c996256acb956a065bcde366431f4d44306d06f0 100644 (file)
@@ -169,7 +169,7 @@ bdb_db_open( BackendDB *be )
 
        rc = bdb->bi_dbenv->open( bdb->bi_dbenv,
                bdb->bi_dbenv_home,
-               flags | bdb->bi_dbenv_xflags,
+               flags,
                bdb->bi_dbenv_mode );
        if( rc != 0 ) {
                Debug( LDAP_DEBUG_ANY,
@@ -178,6 +178,17 @@ bdb_db_open( BackendDB *be )
                return rc;
        }
 
+       if( bdb->bi_dbenv_xflags != 0 ) {
+               rc = bdb->bi_dbenv->set_flags( bdb->bi_dbenv,
+                       bdb->bi_dbenv_xflags, 1);
+               if( rc != 0 ) {
+                       Debug( LDAP_DEBUG_ANY,
+                           "bdb_db_open: dbenv_set_flags failed: %s (%d)\n",
+                           db_strerror(rc), rc, 0 );
+                       return rc;
+               }
+       }
+
        flags = DB_THREAD | DB_CREATE;
 
        bdb->bi_databases = (struct bdb_db_info **) ch_malloc(