ITS#8133 avoid mods during dds_db_open

If dds is present early in the overlay stack, the modify ops from
dds_expire can trigger other overlays before they have initialized.
Avoid that by delaying the first expiry until startup has finished.
This commit is contained in:
Ryan Tandy 2015-05-06 21:39:10 -07:00
parent b0950f4d44
commit 1c49424134

View File

@ -1740,18 +1740,6 @@ dds_db_open(
goto done;
}
/* ... if there are dynamic objects, delete those expired */
if ( di->di_num_dynamicObjects > 0 ) {
/* force deletion of expired entries... */
be->bd_info = (BackendInfo *)on->on_info;
rc = dds_expire( thrctx, di );
be->bd_info = (BackendInfo *)on;
if ( rc != LDAP_SUCCESS ) {
rc = 1;
goto done;
}
}
/* start expire task */
ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
di->di_expire_task = ldap_pvt_runqueue_insert( &slapd_rq,