struct berval rdn;
char *ptr;
AttributeDescription *rad = NULL;
+ int do_pause = 1;
cfb = (CfBackInfo *)op->o_bd->be_private;
rs->sr_text = "Use modrdn to change the entry name";
goto out;
}
+ /* Internal update of contextCSN? */
+ if ( ml->sml_desc == slap_schema.si_ad_contextCSN && op->o_conn->c_conn_idx == -1 ) {
+ do_pause = 0;
+ break;
+ }
}
slap_mods_opattrs( op, &op->orm_modlist, 1 );
- ldap_pvt_thread_pool_pause( &connection_pool );
+ if ( do_pause )
+ ldap_pvt_thread_pool_pause( &connection_pool );
/* Strategy:
* 1) perform the Modify on the cached Entry.
op->o_ndn = ndn;
}
- ldap_pvt_thread_pool_resume( &connection_pool );
+ if ( do_pause )
+ ldap_pvt_thread_pool_resume( &connection_pool );
out:
send_ldap_result( op, rs );
slap_graduate_commit_csn( op );
c->c_listener = NULL;
c->c_conn_state = SLAP_C_INVALID;
c->c_struct_state = SLAP_C_UNUSED;
+ c->c_sd = AC_SOCKET_INVALID;
c->c_close_reason = "?"; /* should never be needed */
sb = c->c_sb;
c->c_sb = ber_sockbuf_alloc( );
if ( ber_bvarray_dup_x( &si->si_syncCookie.ctxcsn,
si->si_cookieState->cs_vals, NULL )) {
rc = LDAP_NO_MEMORY;
+ ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
goto done;
}
si->si_syncCookie.numcsns = si->si_cookieState->cs_num;