diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index c18e16483d..8a16cd47e3 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -3170,6 +3170,7 @@ syncprov_db_close( #ifdef SLAP_CONFIG_DELETE if ( !slapd_shutdown ) { + ldap_pvt_thread_mutex_lock( &si->si_ops_mutex ); for ( so=si->si_ops, sonext=so; so; so=sonext ) { SlapReply rs = {REP_RESULT}; rs.sr_err = LDAP_UNAVAILABLE; @@ -3178,6 +3179,7 @@ syncprov_db_close( syncprov_drop_psearch( so, 0); } si->si_ops=NULL; + ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex ); } overlay_unregister_control( be, LDAP_CONTROL_SYNC ); #endif /* SLAP_CONFIG_DELETE */