]> git.sur5r.net Git - openldap/commitdiff
ITS#5367 revert prev commit
authorHoward Chu <hyc@openldap.org>
Mon, 11 Feb 2008 00:19:43 +0000 (00:19 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 11 Feb 2008 00:19:43 +0000 (00:19 +0000)
servers/slapd/overlays/syncprov.c

index bfd6ffb7fc595712118386942a6da809d7965775..ad8b9bb329e0b507e54f8dbaf4833156c4058aeb 100644 (file)
@@ -1566,12 +1566,6 @@ syncprov_op_response( Operation *op, SlapReply *rs )
                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, SlapReply *rs )
                        }
                }
 
+               /* 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 ) {