meta_back_open(
BackendInfo *bi )
{
+ /* FIXME: need to remove the pagedResults, and likely more... */
bi->bi_controls = slap_known_controls;
+
return 0;
}
int i, rc;
for ( i = 0; i < mi->mi_ntargets; i++ ) {
- if ( mi->mi_targets[ i ].mt_flags & LDAP_BACK_F_SUPPORT_T_F_DISCOVER ) {
+ if ( mi->mi_targets[ i ].mt_flags & LDAP_BACK_F_SUPPORT_T_F_DISCOVER )
+ {
mi->mi_targets[ i ].mt_flags &= ~LDAP_BACK_F_SUPPORT_T_F_DISCOVER;
rc = slap_discover_feature( mi->mi_targets[ i ].mt_uri,
mi->mi_targets[ i ].mt_version,
return 0;
}
-static void
-conn_free(
+void
+meta_back_conn_free(
void *v_mc )
{
metaconn_t *mc = v_mc;
int i, ntargets;
+ assert( mc != NULL );
+ assert( mc->mc_refcnt == 0 );
+
+ if ( !BER_BVISNULL( &mc->mc_local_ndn ) ) {
+ free( mc->mc_local_ndn.bv_val );
+ }
+
assert( mc->mc_conns != NULL );
/* at least one must be present... */
}
}
+ ldap_pvt_thread_mutex_destroy( &mc->mc_mutex );
free( mc );
}
ldap_pvt_thread_mutex_lock( &mi->mi_conn_mutex );
if ( mi->mi_conntree ) {
- avl_free( mi->mi_conntree, conn_free );
+ avl_free( mi->mi_conntree, meta_back_conn_free );
}
/*