mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-02-03 20:40:05 -05:00
ITS#3671 more abandon/error checks
This commit is contained in:
parent
0f4a5f7445
commit
3a42760472
1 changed files with 9 additions and 2 deletions
|
|
@ -784,6 +784,11 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, Entry **e, int mod
|
|||
return syncprov_qresp( opc, so, mode );
|
||||
}
|
||||
ldap_pvt_thread_mutex_unlock( &so->s_mutex );
|
||||
|
||||
/* If syncprov_qplay returned any other error, bail out. */
|
||||
if ( rs.sr_err ) {
|
||||
return rs.sr_err;
|
||||
}
|
||||
} else {
|
||||
/* Queueing not allowed and conn is busy, give up */
|
||||
if ( sop.o_conn->c_writewaiter )
|
||||
|
|
@ -847,8 +852,10 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, Entry **e, int mod
|
|||
* recovered, there may be more to send now. But don't check if the
|
||||
* original psearch has been abandoned.
|
||||
*/
|
||||
if ( !so->s_op->o_abandon && rs.sr_err == LDAP_SUCCESS && queue
|
||||
&& so->s_res ) {
|
||||
if ( so->s_op->o_abandon )
|
||||
return SLAPD_ABANDON;
|
||||
|
||||
if ( rs.sr_err == LDAP_SUCCESS && queue && so->s_res ) {
|
||||
ldap_pvt_thread_mutex_lock( &so->s_mutex );
|
||||
rs.sr_err = syncprov_qplay( &sop, on, so );
|
||||
ldap_pvt_thread_mutex_unlock( &so->s_mutex );
|
||||
|
|
|
|||
Loading…
Reference in a new issue