Diff for /servers/slapd/overlays/syncprov.c between versions 1.54 and 1.55

version 1.54, 2004/12/10 00:50:16 version 1.55, 2004/12/10 01:51:34
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.53 2004/12/10 00:35:34 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.54 2004/12/10 00:50:16 hyc 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 1744  syncprov_op_search( Operation *op, SlapR Line 1744  syncprov_op_search( Operation *op, SlapR
                 sop->s_sid = srs->sr_state.sid;                  sop->s_sid = srs->sr_state.sid;
                 sop->s_rid = srs->sr_state.rid;                  sop->s_rid = srs->sr_state.rid;
                 sop->s_inuse = 1;                  sop->s_inuse = 1;
   
                   ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );
                   sop->s_next = si->si_ops;
                   si->si_ops = sop;
                   ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );
         }          }
   
         /* snapshot the ctxcsn */          /* snapshot the ctxcsn */
Line 1777  syncprov_op_search( Operation *op, SlapR Line 1782  syncprov_op_search( Operation *op, SlapR
                         if ( validate( ad->ad_type->sat_syntax, &timestamp ))                          if ( validate( ad->ad_type->sat_syntax, &timestamp ))
                                 break;                                  break;
                         valid = 1;                          valid = 1;
                           break;
                 }                  }
                   /* Skip any present searches, there's nothing to compare */
                 if ( !valid ) {                  if ( !valid ) {
                         if ( sop ) ch_free( sop );                          goto shortcut;
                         send_ldap_error( op, rs, LDAP_OTHER, "invalid sync cookie" );  
                         return rs->sr_err;  
                 }                  }
                 /* If just Refreshing and nothing has changed, shortcut it */                  /* If just Refreshing and nothing has changed, shortcut it */
                 if ( bvmatch( srs->sr_state.ctxcsn, &ctxcsn )) {                  if ( bvmatch( srs->sr_state.ctxcsn, &ctxcsn )) {
Line 1840  shortcut: Line 1845  shortcut:
          */           */
         if ( sop ) {          if ( sop ) {
                 sop->s_filterstr= op->ors_filterstr;                  sop->s_filterstr= op->ors_filterstr;
   
                 /* insert record of psearch now */  
                 ldap_pvt_thread_mutex_lock( &si->si_ops_mutex );  
                 sop->s_next = si->si_ops;  
                 si->si_ops = sop;  
                 ldap_pvt_thread_mutex_unlock( &si->si_ops_mutex );  
         }          }
   
         fand = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx );          fand = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx );

Removed from v.1.54  
changed lines
  Added in v.1.55


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