mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
ITS#4308 fix cache flush task interval
This commit is contained in:
parent
69179a5c44
commit
e82ce6444c
@ -643,11 +643,18 @@ bdb_cache_lru_add(
|
||||
ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
|
||||
if ( bdb->bi_cache_task ) {
|
||||
if ( !ldap_pvt_runqueue_isrunning( &slapd_rq,
|
||||
bdb->bi_cache_task ))
|
||||
bdb->bi_cache_task )) {
|
||||
struct re_s *task = bdb->bi_cache_task;
|
||||
|
||||
/* We want it to start right now */
|
||||
task->interval.tv_sec = 0;
|
||||
ldap_pvt_runqueue_resched( &slapd_rq, bdb->bi_cache_task,
|
||||
0 );
|
||||
/* But don't try to reschedule it while it's running */
|
||||
task->interval.tv_sec = 3600;
|
||||
}
|
||||
} else {
|
||||
bdb->bi_cache_task = ldap_pvt_runqueue_insert( &slapd_rq, 0,
|
||||
bdb->bi_cache_task = ldap_pvt_runqueue_insert( &slapd_rq, 3600,
|
||||
bdb_cache_lru_purge, bdb, "bdb_cache_lru_purge",
|
||||
bdb->bi_dbenv_home );
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user