--- servers/slapd/overlays/syncprov.c 2008/02/10 01:10:28 1.214 +++ servers/slapd/overlays/syncprov.c 2008/02/10 23:19:43 1.215 @@ -1566,12 +1566,6 @@ syncprov_op_response( Operation *op, Sla char cbuf[LDAP_LUTIL_CSNSTR_BUFSIZE]; int do_check = 0, have_psearches; - /* Don't do any processing for consumer contextCSN updates */ - if ( SLAP_SYNC_SHADOW( op->o_bd ) && - op->o_msgid == SLAP_SYNC_UPDATE_MSGID ) { - return SLAP_CB_CONTINUE; - } - /* Update our context CSN */ cbuf[0] = '\0'; ldap_pvt_thread_rdwr_wlock( &si->si_csn_rwlock ); @@ -1598,6 +1592,13 @@ syncprov_op_response( Operation *op, Sla } } + /* Don't do any processing for consumer contextCSN updates */ + if ( SLAP_SYNC_SHADOW( op->o_bd ) && + op->o_msgid == SLAP_SYNC_UPDATE_MSGID ) { + ldap_pvt_thread_rdwr_wunlock( &si->si_csn_rwlock ); + return SLAP_CB_CONTINUE; + } + si->si_numops++; if ( si->si_chkops || si->si_chktime ) { if ( si->si_chkops && si->si_numops >= si->si_chkops ) {