mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-20 22:59:34 -05:00
ITS#10045 Make sure we only unpause when paused
This commit is contained in:
parent
52ee3e23a4
commit
2738a32de3
1 changed files with 9 additions and 6 deletions
|
|
@ -5760,7 +5760,7 @@ config_back_add( Operation *op, SlapReply *rs )
|
||||||
dopause = 0;
|
dopause = 0;
|
||||||
if ( op->o_abandon ) {
|
if ( op->o_abandon ) {
|
||||||
rs->sr_err = SLAPD_ABANDON;
|
rs->sr_err = SLAPD_ABANDON;
|
||||||
goto out;
|
goto unpause;
|
||||||
}
|
}
|
||||||
|
|
||||||
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
|
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
|
||||||
|
|
@ -5831,10 +5831,11 @@ config_back_add( Operation *op, SlapReply *rs )
|
||||||
out2:;
|
out2:;
|
||||||
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
|
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
|
||||||
|
|
||||||
out:;
|
unpause:;
|
||||||
if ( dopause )
|
if ( dopause )
|
||||||
slap_unpause_server();
|
slap_unpause_server();
|
||||||
|
|
||||||
|
out:;
|
||||||
{ int repl = op->o_dont_replicate;
|
{ int repl = op->o_dont_replicate;
|
||||||
if ( rs->sr_err == LDAP_COMPARE_TRUE ) {
|
if ( rs->sr_err == LDAP_COMPARE_TRUE ) {
|
||||||
rs->sr_text = NULL; /* Set after config_add_internal */
|
rs->sr_text = NULL; /* Set after config_add_internal */
|
||||||
|
|
@ -6353,7 +6354,7 @@ config_back_modify( Operation *op, SlapReply *rs )
|
||||||
do_pause = 0;
|
do_pause = 0;
|
||||||
if ( op->o_abandon ) {
|
if ( op->o_abandon ) {
|
||||||
rs->sr_err = SLAPD_ABANDON;
|
rs->sr_err = SLAPD_ABANDON;
|
||||||
goto out;
|
goto unpause;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
|
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 );
|
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
|
||||||
out:
|
unpause:;
|
||||||
if ( do_pause )
|
if ( do_pause )
|
||||||
slap_unpause_server();
|
slap_unpause_server();
|
||||||
|
out:
|
||||||
if ( num_ctrls ) rs->sr_ctrls = ctrls;
|
if ( num_ctrls ) rs->sr_ctrls = ctrls;
|
||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
slap_graduate_commit_csn( op );
|
slap_graduate_commit_csn( op );
|
||||||
|
|
@ -6576,7 +6578,7 @@ config_back_modrdn( Operation *op, SlapReply *rs )
|
||||||
dopause = 0;
|
dopause = 0;
|
||||||
if ( op->o_abandon ) {
|
if ( op->o_abandon ) {
|
||||||
rs->sr_err = SLAPD_ABANDON;
|
rs->sr_err = SLAPD_ABANDON;
|
||||||
goto out;
|
goto unpause;
|
||||||
}
|
}
|
||||||
|
|
||||||
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
|
ldap_pvt_thread_rdwr_wlock( &cfb->cb_rwlock );
|
||||||
|
|
@ -6703,9 +6705,10 @@ config_back_modrdn( Operation *op, SlapReply *rs )
|
||||||
out2:;
|
out2:;
|
||||||
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
|
ldap_pvt_thread_rdwr_wunlock( &cfb->cb_rwlock );
|
||||||
|
|
||||||
out:
|
unpause:
|
||||||
if ( dopause )
|
if ( dopause )
|
||||||
slap_unpause_server();
|
slap_unpause_server();
|
||||||
|
out:
|
||||||
if ( num_ctrls ) rs->sr_ctrls = ctrls;
|
if ( num_ctrls ) rs->sr_ctrls = ctrls;
|
||||||
send_ldap_result( op, rs );
|
send_ldap_result( op, rs );
|
||||||
return rs->sr_err;
|
return rs->sr_err;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue