| Index: mojo/edk/system/ports/node.cc
|
| diff --git a/mojo/edk/system/ports/node.cc b/mojo/edk/system/ports/node.cc
|
| index 630a1a2680c26be0dba4a710ba18b2e9ae095071..128ecdf4ca7189821d45213b642264ee1b090567 100644
|
| --- a/mojo/edk/system/ports/node.cc
|
| +++ b/mojo/edk/system/ports/node.cc
|
| @@ -1355,6 +1355,12 @@ void Node::DestroyAllPortsWithPeer(const NodeName& node_name,
|
| event.proxy_to_port_name = kInvalidPortName;
|
| delegate_->BroadcastMessage(NewInternalMessage(
|
| kInvalidPortName, EventType::kObserveProxy, event));
|
| +
|
| + // Also process death locally since the port that points this closed one
|
| + // could be on the current node.
|
| + // Note: Although this is recursive, only a single port is involved which
|
| + // limits the expected branching to 1.
|
| + DestroyAllPortsWithPeer(name_, proxy_name);
|
| }
|
|
|
| // Close any ports referenced by the closed proxies.
|
|
|