ITS#10045 Make sure we only unpause when paused

This commit is contained in:
Ondřej Kuzník 2023-07-25 11:08:30 +01:00 committed by Quanah Gibson-Mount
parent 52ee3e23a4
commit 2738a32de3

View file

@ -5760,7 +5760,7 @@ config_back_add( Operation *op, SlapReply *rs )
dopause = 0;
if ( op->o_abandon ) {
rs->sr_err = SLAPD_ABANDON;
goto out;
goto unpause;
}
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
@ -5831,10 +5831,11 @@ config_back_add( Operation *op, SlapReply *rs )
out2:;
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
out:;
unpause:;
if ( dopause )
slap_unpause_server();
out:;
{ int repl = op->o_dont_replicate;
if ( rs->sr_err == LDAP_COMPARE_TRUE ) {
rs->sr_text = NULL; /* Set after config_add_internal */
@ -6353,7 +6354,7 @@ config_back_modify( Operation *op, SlapReply *rs )
do_pause = 0;
if ( op->o_abandon ) {
rs->sr_err = SLAPD_ABANDON;
goto out;
goto unpause;
}
}
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
@ -6401,9 +6402,10 @@ config_back_modify( Operation *op, SlapReply *rs )
}
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
out:
unpause:;
if ( do_pause )
slap_unpause_server();
out:
if ( num_ctrls ) rs->sr_ctrls = ctrls;
send_ldap_result( op, rs );
slap_graduate_commit_csn( op );
@ -6576,7 +6578,7 @@ config_back_modrdn( Operation *op, SlapReply *rs )
dopause = 0;
if ( op->o_abandon ) {
rs->sr_err = SLAPD_ABANDON;
goto out;
goto unpause;
}
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
@ -6703,9 +6705,10 @@ config_back_modrdn( Operation *op, SlapReply *rs )
out2:;
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
out:
unpause:
if ( dopause )
slap_unpause_server();
out:
if ( num_ctrls ) rs->sr_ctrls = ctrls;
send_ldap_result( op, rs );
return rs->sr_err;