mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-06 10:46:21 +08:00
ITS#5451 glue deadlock fix
This commit is contained in:
parent
a5037b4c5b
commit
64315e3087
@ -2396,7 +2396,14 @@ syncprov_operational(
|
|||||||
|
|
||||||
if ( !ap ) {
|
if ( !ap ) {
|
||||||
if ( !(rs->sr_flags & REP_ENTRY_MODIFIABLE) ) {
|
if ( !(rs->sr_flags & REP_ENTRY_MODIFIABLE) ) {
|
||||||
rs->sr_entry = entry_dup( rs->sr_entry );
|
Entry *e = entry_dup( rs->sr_entry );
|
||||||
|
if ( rs->sr_flags & REP_ENTRY_MUSTRELEASE ) {
|
||||||
|
overlay_entry_release_ov( op, rs->sr_entry, 0, on );
|
||||||
|
rs->sr_flags ^= REP_ENTRY_MUSTRELEASE;
|
||||||
|
} else if ( rs->sr_flags & REP_ENTRY_MUSTBEFREED ) {
|
||||||
|
entry_free( rs->sr_entry );
|
||||||
|
}
|
||||||
|
rs->sr_entry = e;
|
||||||
rs->sr_flags |=
|
rs->sr_flags |=
|
||||||
REP_ENTRY_MODIFIABLE|REP_ENTRY_MUSTBEFREED;
|
REP_ENTRY_MODIFIABLE|REP_ENTRY_MUSTBEFREED;
|
||||||
a = attr_find( rs->sr_entry->e_attrs,
|
a = attr_find( rs->sr_entry->e_attrs,
|
||||||
|
Loading…
Reference in New Issue
Block a user