More for ITS#6177

This commit is contained in:
Howard Chu 2009-06-19 07:11:01 +00:00
parent 3a918c03b6
commit 53f8b761f1
2 changed files with 15 additions and 12 deletions

View file

@ -979,6 +979,9 @@ load1:
if ( (*eip)->bei_state & CACHE_ENTRY_DELETED ) {
rc = DB_NOTFOUND;
bdb_cache_entry_db_unlock( bdb, lock );
bdb_cache_entryinfo_lock( *eip );
(*eip)->bei_finders--;
bdb_cache_entryinfo_unlock( *eip );
} else if ( rc == 0 ) {
if ( load ) {
if ( !ep) {

View file

@ -1156,18 +1156,18 @@ gotit:
if ( bdb_cache_find_id( cx->op, cx->txn, cx->id, &cx->ei,
ID_NOENTRY, NULL ))
continue;
if ( !cx->ei ||
( cx->ei->bei_state & CACHE_ENTRY_NO_KIDS ))
continue;
ei2 = cx->ei;
BDB_ID2DISK( cx->id, &cx->nid );
hdb_dn2idl_internal( cx );
if ( !BDB_IDL_IS_ZERO( cx->tmp ))
nokids = 0;
bdb_cache_entryinfo_lock( ei2 );
ei2->bei_finders--;
bdb_cache_entryinfo_unlock( ei2 );
if ( cx->ei ) {
ei2 = cx->ei;
if ( !( ei2->bei_state & CACHE_ENTRY_NO_KIDS )) {
BDB_ID2DISK( cx->id, &cx->nid );
hdb_dn2idl_internal( cx );
if ( !BDB_IDL_IS_ZERO( cx->tmp ))
nokids = 0;
}
bdb_cache_entryinfo_lock( ei2 );
ei2->bei_finders--;
bdb_cache_entryinfo_unlock( ei2 );
}
}
cx->depth--;
cx->op->o_tmpfree( save, cx->op->o_tmpmemctx );