mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
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:
parent
b0950f4d44
commit
1c49424134
@ -1740,18 +1740,6 @@ dds_db_open(
|
|||||||
goto done;
|
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 */
|
/* start expire task */
|
||||||
ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
|
ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex );
|
||||||
di->di_expire_task = ldap_pvt_runqueue_insert( &slapd_rq,
|
di->di_expire_task = ldap_pvt_runqueue_insert( &slapd_rq,
|
||||||
|
Loading…
Reference in New Issue
Block a user