Diff for /servers/slapd/overlays/syncprov.c between versions 1.255 and 1.256

version 1.255, 2009/01/24 06:04:42 version 1.256, 2009/01/28 01:03:07
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.254 2009/01/21 23:40:40 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.255 2009/01/24 06:04:42 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 2123  syncprov_search_response( Operation *op, Line 2123  syncprov_search_response( Operation *op,
                                 op->o_tmpfree( cookie.bv_val, op->o_tmpmemctx );                                  op->o_tmpfree( cookie.bv_val, op->o_tmpmemctx );
   
                         /* Detach this Op from frontend control */                          /* Detach this Op from frontend control */
                         ldap_pvt_thread_mutex_lock( &ss->ss_so->s_mutex );  
                         ldap_pvt_thread_mutex_lock( &op->o_conn->c_mutex );                          ldap_pvt_thread_mutex_lock( &op->o_conn->c_mutex );
   
                         /* But not if this connection was closed along the way */                          /* But not if this connection was closed along the way */
                         if ( op->o_abandon ) {                          if ( op->o_abandon ) {
                                 ldap_pvt_thread_mutex_unlock( &op->o_conn->c_mutex );                                  ldap_pvt_thread_mutex_unlock( &op->o_conn->c_mutex );
                                 ldap_pvt_thread_mutex_unlock( &ss->ss_so->s_mutex );  
                                 /* syncprov_ab_cleanup will free this syncop */                                  /* syncprov_ab_cleanup will free this syncop */
                                 return SLAPD_ABANDON;                                  return SLAPD_ABANDON;
   
                         } else {                          } else {
                                   ldap_pvt_thread_mutex_lock( &ss->ss_so->s_mutex );
                                 /* Turn off the refreshing flag */                                  /* Turn off the refreshing flag */
                                 ss->ss_so->s_flags ^= PS_IS_REFRESHING;                                  ss->ss_so->s_flags ^= PS_IS_REFRESHING;
   
Line 2144  syncprov_search_response( Operation *op, Line 2143  syncprov_search_response( Operation *op,
                                 /* If there are queued responses, fire them off */                                  /* If there are queued responses, fire them off */
                                 if ( ss->ss_so->s_res )                                  if ( ss->ss_so->s_res )
                                         syncprov_qstart( ss->ss_so );                                          syncprov_qstart( ss->ss_so );
                                   ldap_pvt_thread_mutex_unlock( &ss->ss_so->s_mutex );
                         }                          }
                         ldap_pvt_thread_mutex_unlock( &ss->ss_so->s_mutex );  
   
                         return LDAP_SUCCESS;                          return LDAP_SUCCESS;
                 }                  }

Removed from v.1.255  
changed lines
  Added in v.1.256


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