]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/init.c
silence warning
[openldap] / servers / slapd / back-bdb / init.c
index 5337dcd19177744901b2fba950c1b39a4e9080e5..e9f616c602f76059a5717aa1521d4d21fbed77ed 100644 (file)
@@ -71,8 +71,8 @@ bdb_db_init( BackendDB *be )
        LDAP_LOG( BACK_BDB, ENTRY, "bdb_db_init", 0, 0, 0 );
 #else
        Debug( LDAP_DEBUG_ANY,
-               "bdb_db_init: Initializing BDB database\n",
-               0, 0, 0 );
+               "bdb_db_init: Initializing %s database\n",
+               be->bd_info->bi_type, 0, 0 );
 #endif
 
        /* allocate backend-database-specific stuff */
@@ -196,6 +196,9 @@ bdb_db_open( BackendDB *be )
        bdb->bi_dbenv->set_errcall( bdb->bi_dbenv, bdb_errcall );
        bdb->bi_dbenv->set_lk_detect( bdb->bi_dbenv, bdb->bi_lock_detect );
 
+       /* One long-lived TXN per thread, two TXNs per write op */
+       bdb->bi_dbenv->set_tx_max( bdb->bi_dbenv, connection_pool_max * 3 );
+
        if ( bdb->bi_idl_cache_max_size ) {
                bdb->bi_idl_tree = NULL;
                ldap_pvt_thread_rdwr_init( &bdb->bi_idl_tree_rwlock );
@@ -445,7 +448,7 @@ bdb_db_open( BackendDB *be )
                return rc;
        }
 
-       bdb->bi_dbenv->lock_id(bdb->bi_dbenv, &bdb->bi_cache.c_locker);
+       XLOCK_ID(bdb->bi_dbenv, &bdb->bi_cache.c_locker);
 
        /* <insert> open (and create) index databases */
        return 0;
@@ -487,6 +490,8 @@ bdb_db_close( BackendDB *be )
                ldap_pvt_thread_rdwr_wunlock ( &bdb->bi_idl_tree_rwlock );
        }
 
+       XLOCK_ID_FREE(bdb->bi_dbenv, bdb->bi_cache.c_locker);
+
        return 0;
 }