mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 08:39:37 -05:00
More for ITS#5860, always check cache sizes
This commit is contained in:
parent
ba75a865d7
commit
cc950c70d1
1 changed files with 3 additions and 4 deletions
|
|
@ -831,7 +831,7 @@ bdb_cache_find_id(
|
|||
{
|
||||
struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
|
||||
Entry *ep = NULL;
|
||||
int rc = 0, load = 0, added = 0;
|
||||
int rc = 0, load = 0;
|
||||
EntryInfo ei = { 0 };
|
||||
|
||||
ei.bei_id = id;
|
||||
|
|
@ -929,7 +929,6 @@ load1:
|
|||
*/
|
||||
if ( (*eip)->bei_state & CACHE_ENTRY_NOT_CACHED ) {
|
||||
(*eip)->bei_state &= ~CACHE_ENTRY_NOT_CACHED;
|
||||
added = 1;
|
||||
}
|
||||
flag &= ~ID_NOCACHE;
|
||||
}
|
||||
|
|
@ -958,7 +957,6 @@ load1:
|
|||
#endif
|
||||
ep = NULL;
|
||||
bdb_cache_lru_link( bdb, *eip );
|
||||
added = 1;
|
||||
if (( flag & ID_NOCACHE ) &&
|
||||
( bdb_cache_entryinfo_trylock( *eip ) == 0 )) {
|
||||
/* Set the cached state only if no other thread
|
||||
|
|
@ -1023,7 +1021,8 @@ load1:
|
|||
if ( rc == 0 ) {
|
||||
int purge = 0;
|
||||
|
||||
if ( added ) {
|
||||
if ( bdb->bi_cache.c_cursize > bdb->bi_cache.c_maxsize ||
|
||||
bdb->bi_cache.c_leaves > bdb->bi_cache.c_eimax ) {
|
||||
ldap_pvt_thread_mutex_lock( &bdb->bi_cache.c_count_mutex );
|
||||
if ( !( flag & ID_NOCACHE )) {
|
||||
bdb->bi_cache.c_cursize++;
|
||||
|
|
|
|||
Loading…
Reference in a new issue