Diff for /servers/slapd/overlays/syncprov.c between versions 1.145 and 1.148

version 1.145, 2006/02/27 08:20:55 version 1.148, 2006/04/28 01:06:47
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.144 2006/01/23 21:23:00 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.147 2006/04/02 21:49:57 hallvard Exp $ */
 /* syncprov.c - syncrepl provider */  /* syncprov.c - syncrepl provider */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
Line 1302  syncprov_add_slog( Operation *op, struct Line 1302  syncprov_add_slog( Operation *op, struct
                         sl->sl_mincsn.bv_len = se->se_csn.bv_len;                          sl->sl_mincsn.bv_len = se->se_csn.bv_len;
                         ch_free( se );                          ch_free( se );
                         sl->sl_num--;                          sl->sl_num--;
                         if ( !sl->sl_head ) {  
                                 sl->sl_tail = NULL;  
                         }  
                 }                  }
                 ldap_pvt_thread_mutex_unlock( &sl->sl_mutex );                  ldap_pvt_thread_mutex_unlock( &sl->sl_mutex );
         }          }
Line 1814  syncprov_search_response( Operation *op, Line 1811  syncprov_search_response( Operation *op,
                 }                  }
                 if ( a ) {                  if ( a ) {
                         /* Make sure entry is less than the snapshot'd contextCSN */                          /* Make sure entry is less than the snapshot'd contextCSN */
                         if ( ber_bvcmp( &a->a_nvals[0], &ss->ss_ctxcsn ) > 0 )                          if ( ber_bvcmp( &a->a_nvals[0], &ss->ss_ctxcsn ) > 0 ) {
                                   Debug( LDAP_DEBUG_SYNC, "Entry %s CSN %s greater than snapshot %s\n",
                                           rs->sr_entry->e_name.bv_val,
                                           a->a_nvals[0].bv_val,
                                           ss->ss_ctxcsn.bv_val );
                                 return LDAP_SUCCESS;                                  return LDAP_SUCCESS;
                           }
   
                         /* Don't send the ctx entry twice */                          /* Don't send the ctx entry twice */
                         if ( !BER_BVISNULL( &srs->sr_state.ctxcsn ) &&                          if ( !BER_BVISNULL( &srs->sr_state.ctxcsn ) &&
                                 bvmatch( &a->a_nvals[0], &srs->sr_state.ctxcsn ) )                                  bvmatch( &a->a_nvals[0], &srs->sr_state.ctxcsn ) ) {
                                   Debug( LDAP_DEBUG_SYNC, "Entry %s CSN %s matches ctx %s\n",
                                           rs->sr_entry->e_name.bv_val,
                                           a->a_nvals[0].bv_val,
                                           srs->sr_state.ctxcsn.bv_val );
                                 return LDAP_SUCCESS;                                  return LDAP_SUCCESS;
                           }
                 }                  }
                 rs->sr_ctrls = op->o_tmpalloc( sizeof(LDAPControl *)*2,                  rs->sr_ctrls = op->o_tmpalloc( sizeof(LDAPControl *)*2,
                         op->o_tmpmemctx );                          op->o_tmpmemctx );
Line 1905  syncprov_op_search( Operation *op, SlapR Line 1912  syncprov_op_search( Operation *op, SlapR
                 /* syncprov_findbase expects to be called as a callback... */                  /* syncprov_findbase expects to be called as a callback... */
                 sc.sc_private = &opc;                  sc.sc_private = &opc;
                 opc.son = on;                  opc.son = on;
                   ldap_pvt_thread_mutex_init( &so.s_mutex );
                 cb = op->o_callback;                  cb = op->o_callback;
                 op->o_callback = &sc;                  op->o_callback = &sc;
                 rs->sr_err = syncprov_findbase( op, &fc );                  rs->sr_err = syncprov_findbase( op, &fc );
                 op->o_callback = cb;                  op->o_callback = cb;
                   ldap_pvt_thread_mutex_destroy( &so.s_mutex );
   
                 if ( rs->sr_err != LDAP_SUCCESS ) {                  if ( rs->sr_err != LDAP_SUCCESS ) {
                         send_ldap_result( op, rs );                          send_ldap_result( op, rs );

Removed from v.1.145  
changed lines
  Added in v.1.148


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org