Diff for /servers/slapd/overlays/syncprov.c between versions 1.315 and 1.316

version 1.315, 2010/07/28 00:21:27 version 1.316, 2010/11/15 14:42:06
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.314 2010/07/01 09:51:43 ralf Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.315 2010/07/28 00:21:27 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 1294  syncprov_matchops( Operation *op, opcook Line 1294  syncprov_matchops( Operation *op, opcook
                 }                  }
   
                 if ( fc.fscope ) {                  if ( fc.fscope ) {
                           ldap_pvt_thread_mutex_lock( &ss->s_mutex );
                         op2 = *ss->s_op;                          op2 = *ss->s_op;
                         oh = *op->o_hdr;                          oh = *op->o_hdr;
                         oh.oh_conn = ss->s_op->o_conn;                          oh.oh_conn = ss->s_op->o_conn;
Line 1302  syncprov_matchops( Operation *op, opcook Line 1303  syncprov_matchops( Operation *op, opcook
                         op2.o_hdr = &oh;                          op2.o_hdr = &oh;
                         op2.o_extra = op->o_extra;                          op2.o_extra = op->o_extra;
                         op2.o_callback = NULL;                          op2.o_callback = NULL;
                         ldap_pvt_thread_mutex_lock( &ss->s_mutex );  
                         if (ss->s_flags & PS_FIX_FILTER) {                          if (ss->s_flags & PS_FIX_FILTER) {
                                 /* Skip the AND/GE clause that we stuck on in front. We                                  /* Skip the AND/GE clause that we stuck on in front. We
                                    would lose deletes/mods that happen during the refresh                                     would lose deletes/mods that happen during the refresh
Line 2607  shortcut: Line 2607  shortcut:
 #endif  #endif
                 ber_dupbv_x( &fava->f_ava->aa_value, &mincsn, op->o_tmpmemctx );                  ber_dupbv_x( &fava->f_ava->aa_value, &mincsn, op->o_tmpmemctx );
                 fava->f_next = op->ors_filter;                  fava->f_next = op->ors_filter;
                   if ( sop )
                           ldap_pvt_thread_mutex_lock( &sop->s_mutex );
                 op->ors_filter = fand;                  op->ors_filter = fand;
                 filter2bv_x( op, op->ors_filter, &op->ors_filterstr );                  filter2bv_x( op, op->ors_filter, &op->ors_filterstr );
                 if ( sop )                  if ( sop ) {
                         sop->s_flags |= PS_FIX_FILTER;                          sop->s_flags |= PS_FIX_FILTER;
                           ldap_pvt_thread_mutex_unlock( &sop->s_mutex );
                   }
         }          }
   
         /* Let our callback add needed info to returned entries */          /* Let our callback add needed info to returned entries */

Removed from v.1.315  
changed lines
  Added in v.1.316


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