]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/overlays/syncprov.c
Fix CONFIG_DELETE crash
[openldap] / servers / slapd / overlays / syncprov.c
index dd8229fcba520ea1c97537361279429e16c25ef5..1c84cf2fac4f38dd2deeb02f3d1a443a8396f5dc 100644 (file)
@@ -3172,6 +3172,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;
@@ -3180,6 +3181,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 */