From: Howard Chu Date: Thu, 28 Apr 2005 16:21:52 +0000 (+0000) Subject: More for ITS#3671, check for Abandon before replaying queued events X-Git-Tag: OPENLDAP_AC_BP~775 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=67c68bab9cc1c4f11fa93210fd51c3561a89728d;p=openldap More for ITS#3671, check for Abandon before replaying queued events --- diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index f184dd2815..6d7ca76f43 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -842,9 +842,11 @@ syncprov_sendresp( Operation *op, opcookie *opc, syncops *so, Entry **e, int mod op->o_private = sop.o_private; rs.sr_ctrls = NULL; /* Check queue again here; if we were hanging in a send and eventually - * recovered, there may be more to send now. + * recovered, there may be more to send now. But don't check if the + * original psearch has been abandoned. */ - if ( rs.sr_err == LDAP_SUCCESS && queue && so->s_res ) { + if ( !so->s_op->o_abandon && 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 );