mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-24 15:52:54 -05:00
Experimental fix to ITS#179 fix.
This commit is contained in:
parent
48d5465ab7
commit
6fb50094d8
1 changed files with 9 additions and 9 deletions
|
|
@ -115,15 +115,7 @@ int ldbm_modify_internal(
|
|||
}
|
||||
ldap_pvt_thread_mutex_unlock( &op->o_abandonmutex );
|
||||
|
||||
/* modify indexes */
|
||||
if ( index_add_mods( be, modlist, e->e_id ) != 0 ) {
|
||||
attrs_free( e->e_attrs );
|
||||
e->e_attrs = save_attrs;
|
||||
send_ldap_result( conn, op, LDAP_OPERATIONS_ERROR,
|
||||
NULL, NULL, NULL, NULL );
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* remove old indices */
|
||||
if( save_attrs != NULL ) {
|
||||
for ( ml = modlist; ml != NULL; ml = ml->ml_next ) {
|
||||
mod = &ml->ml_mod;
|
||||
|
|
@ -145,6 +137,14 @@ int ldbm_modify_internal(
|
|||
attrs_free( save_attrs );
|
||||
}
|
||||
|
||||
/* modify indexes */
|
||||
if ( index_add_mods( be, modlist, e->e_id ) != 0 ) {
|
||||
/* our indices are likely hosed */
|
||||
send_ldap_result( conn, op, LDAP_OPERATIONS_ERROR,
|
||||
NULL, NULL, NULL, NULL );
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* check for abandon */
|
||||
ldap_pvt_thread_mutex_lock( &op->o_abandonmutex );
|
||||
if ( op->o_abandon ) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue