From: Howard Chu Date: Sat, 10 Jul 2004 04:48:07 +0000 (+0000) Subject: Minor cleanup X-Git-Tag: OPENDLAP_REL_ENG_2_2_MP~96 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=22f895a4bb564af4977ad3af3d7d566f52f5ea04;p=openldap Minor cleanup --- diff --git a/servers/slapd/back-bdb/cache.c b/servers/slapd/back-bdb/cache.c index 90f49d83f9..484efe3094 100644 --- a/servers/slapd/back-bdb/cache.c +++ b/servers/slapd/back-bdb/cache.c @@ -679,10 +679,10 @@ load1: if ( !(*eip)->bei_e && !((*eip)->bei_state & CACHE_ENTRY_LOADING)) { /* We don't wrap entire read operations in txn's, but * we need our cache entry lock and any DB page locks * to be associated, in order for deadlock detection - * to work properly. So we use a long-lived per-thread - * txn for this step. + * to work properly. So if we need to read from the DB, + * we use a long-lived per-thread txn for this step. */ - if ( !tid ) { + if ( !ep && !tid ) { rc = bdb_txn_get( op, bdb->bi_dbenv, <id ); if ( ltid ) locker2 = TXN_ID( ltid ); @@ -714,7 +714,7 @@ load1: if ( !(*eip)->bei_e && !((*eip)->bei_state & CACHE_ENTRY_LOADING)) { /* Otherwise, release the lock. */ bdb_cache_entry_db_unlock( bdb->bi_dbenv, lock ); } - if ( !tid ) { + if ( locker2 != locker ) { /* If we're using the per-thread txn, release all * of its page locks now. */