From: Howard Chu Date: Fri, 18 Feb 2005 01:08:47 +0000 (+0000) Subject: ITS#3549 acknowledge CANCEL requests X-Git-Tag: OPENLDAP_REL_ENG_2_3_BP~167 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=2964bfc48b08c316e6e4101b2a9fd4ae46adce39;p=openldap ITS#3549 acknowledge CANCEL requests --- diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index aa51bcd07e..20e5379a0e 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -881,8 +881,12 @@ syncprov_op_abandon( Operation *op, SlapReply *rs ) if ( so ) { /* Is this really a Cancel exop? */ if ( op->o_tag != LDAP_REQ_ABANDON ) { + so->s_op->o_cancel = SLAP_CANCEL_ACK; rs->sr_err = LDAP_CANCELLED; send_ldap_result( so->s_op, rs ); + while ( so->s_op->o_cancel != SLAP_CANCEL_DONE ) { + ldap_pvt_thread_yield(); + } } syncprov_drop_psearch( so, 0 ); }