mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
Do not crash when closing both client and upstream
This commit is contained in:
parent
532fc1bf98
commit
362d550328
1 changed files with 9 additions and 0 deletions
|
|
@ -581,6 +581,15 @@ operation_abandon( Operation *op )
|
|||
|
||||
CONNECTION_LOCK_DECREF(c);
|
||||
unlock:
|
||||
/*
|
||||
* FIXME: the dance in operation_destroy_from_upstream might be slower than
|
||||
* optimal as we've done some of the things above already. However, we want
|
||||
* to clear o_upstream from the op if it's dying, but witnessing and
|
||||
* navigating the race to do that safely is too complex to copy here.
|
||||
*/
|
||||
if ( !c->c_live ) {
|
||||
operation_destroy_from_upstream( op );
|
||||
}
|
||||
UPSTREAM_UNLOCK_OR_DESTROY(c);
|
||||
|
||||
done:
|
||||
|
|
|
|||
Loading…
Reference in a new issue