From: Howard Chu Date: Tue, 20 Dec 2005 00:55:39 +0000 (+0000) Subject: cleanup db_close X-Git-Tag: OPENLDAP_REL_ENG_2_4_BP~551 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=059257aeaf5e617005268d61ba36f183873942f5;p=openldap cleanup db_close --- diff --git a/servers/slapd/back-bdb/init.c b/servers/slapd/back-bdb/init.c index 989b467e37..e9bbf375ac 100644 --- a/servers/slapd/back-bdb/init.c +++ b/servers/slapd/back-bdb/init.c @@ -565,13 +565,14 @@ bdb_db_close( BackendDB *be ) bdb->bi_idl_lru_head = bdb->bi_idl_lru_tail = NULL; } - if ( !( slapMode & SLAP_TOOL_QUICK ) && bdb->bi_dbenv ) { - XLOCK_ID_FREE(bdb->bi_dbenv, bdb->bi_cache.c_locker); - bdb->bi_cache.c_locker = 0; - } - /* close db environment */ if( bdb->bi_dbenv ) { + /* Free cache locker if we enabled locking */ + if ( !( slapMode & SLAP_TOOL_QUICK )) { + XLOCK_ID_FREE(bdb->bi_dbenv, bdb->bi_cache.c_locker); + bdb->bi_cache.c_locker = 0; + } + /* force a checkpoint, but not if we were ReadOnly, * and not in Quick mode since there are no transactions there. */