]> git.sur5r.net Git - openldap/commitdiff
ITS#3549 acknowledge CANCEL requests
authorHoward Chu <hyc@openldap.org>
Fri, 18 Feb 2005 01:08:47 +0000 (01:08 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 18 Feb 2005 01:08:47 +0000 (01:08 +0000)
servers/slapd/overlays/syncprov.c

index aa51bcd07ec7b094db044e0d1023dba82b368cb3..20e5379a0e21d0f5d58bd35572cec93d7e0a2a8a 100644 (file)
@@ -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 );
        }