return rs->sr_err;
}
+/* no-op, we never free entries */
int config_entry_release(
Operation *op,
Entry *e,
} else {
entry_free( e );
}
- } else {
- entry_free( e );
}
return rc;
}
{
CfBackInfo *cfb;
CfEntryInfo *ce, *last;
- Entry *e = NULL;
- int locked = 0, rc = LDAP_NO_SUCH_OBJECT;
+ int rc = LDAP_NO_SUCH_OBJECT;
cfb = (CfBackInfo *)op->o_bd->be_private;
- if ( !ldap_pvt_thread_pool_pausequery( &connection_pool ) ) {
- ldap_pvt_thread_rdwr_rlock( &cfb->cb_rwlock );
- locked = 1;
- }
ce = config_find_base( cfb->cb_root, ndn, &last );
if ( ce ) {
- e = ce->ce_entry;
- if ( e ) {
+ *ent = ce->ce_entry;
+ if ( *ent ) {
rc = LDAP_SUCCESS;
- if ( oc && !is_entry_objectclass_or_sub( e, oc ) ) {
+ if ( oc && !is_entry_objectclass_or_sub( *ent, oc ) ) {
rc = LDAP_NO_SUCH_ATTRIBUTE;
- e = NULL;
+ *ent = NULL;
}
}
}
- if ( e ) {
- *ent = entry_dup( e );
- }
- if ( locked )
- ldap_pvt_thread_rdwr_runlock( &cfb->cb_rwlock );
return rc;
}