]> git.sur5r.net Git - openldap/commitdiff
ITS#8120 Move final CHECK_CSN block to before the mutex is unlocked.
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 30 Apr 2015 03:30:17 +0000 (22:30 -0500)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 30 Apr 2015 15:59:46 +0000 (10:59 -0500)
servers/slapd/syncrepl.c

index 3fbed979379db7bd3cf5a9d27c847d6e263029a5..2a483254037e25ba7a2ab741c8aa57778dfae646 100644 (file)
@@ -3922,12 +3922,6 @@ syncrepl_updateCookie(
                ch_free( sc.sids );
                ber_bvarray_free( sc.ctxcsn );
        }
-       ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
-
-       op->o_bd = be;
-       op->o_tmpfree( op->o_csn.bv_val, op->o_tmpmemctx );
-       BER_BVZERO( &op->o_csn );
-       if ( mod.sml_next ) slap_mods_free( mod.sml_next, 1 );
 
 #ifdef CHECK_CSN
        for ( i=0; i<si->si_cookieState->cs_num; i++ ) {
@@ -3935,6 +3929,13 @@ syncrepl_updateCookie(
        }
 #endif
 
+       ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
+
+       op->o_bd = be;
+       op->o_tmpfree( op->o_csn.bv_val, op->o_tmpmemctx );
+       BER_BVZERO( &op->o_csn );
+       if ( mod.sml_next ) slap_mods_free( mod.sml_next, 1 );
+
        return rc;
 }