From 059257aeaf5e617005268d61ba36f183873942f5 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 20 Dec 2005 00:55:39 +0000 Subject: [PATCH] cleanup db_close --- servers/slapd/back-bdb/init.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) 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. */