bdb_fix_dn( ep, 0 );
#endif
(*eip)->bei_e = ep;
+ ep = NULL;
}
}
bdb_cache_entry_db_relock( bdb->bi_dbenv, locker,
if ( islocked ) {
bdb_cache_entryinfo_unlock( *eip );
}
+ if ( ep ) {
+ bdb_entry_return( ep );
+ }
if ( rc == 0 ) {
/* set lru mutex */
ldap_pvt_thread_mutex_lock( &bdb->bi_cache.lru_mutex );
avl_free( cache->c_dntree.bei_kids, NULL );
avl_free( cache->c_idtree, bdb_entryinfo_release );
+ for (;cache->c_eifree;cache->c_eifree = cache->c_lruhead) {
+ cache->c_lruhead = cache->c_eifree->bei_lrunext;
+ bdb_cache_entryinfo_destroy(cache->c_eifree);
+ }
cache->c_lruhead = NULL;
cache->c_lrutail = NULL;