| Index: remoting/host/desktop_session_agent.cc
|
| diff --git a/remoting/host/desktop_session_agent.cc b/remoting/host/desktop_session_agent.cc
|
| index 26ee9e1a9d98754daffb3b9e334cd0edbce43c02..064845c969e60854e462bba628e631b7c69b8e79 100644
|
| --- a/remoting/host/desktop_session_agent.cc
|
| +++ b/remoting/host/desktop_session_agent.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/shared_memory.h"
|
| #include "base/process/process_handle.h"
|
| #include "build/build_config.h"
|
| +#include "ipc/attachment_broker.h"
|
| #include "ipc/ipc_channel_proxy.h"
|
| #include "ipc/ipc_message.h"
|
| #include "ipc/ipc_message_macros.h"
|
| @@ -215,6 +216,10 @@ void DesktopSessionAgent::OnChannelError() {
|
| DCHECK(caller_task_runner_->BelongsToCurrentThread());
|
|
|
| // Make sure the channel is closed.
|
| + if (IPC::AttachmentBroker::GetGlobal()) {
|
| + IPC::AttachmentBroker::GetGlobal()->DeregisterCommunicationChannel(
|
| + network_channel_.get());
|
| + }
|
| network_channel_.reset();
|
| desktop_pipe_.Close();
|
|
|
| @@ -413,6 +418,10 @@ void DesktopSessionAgent::Stop() {
|
| delegate_.reset();
|
|
|
| // Make sure the channel is closed.
|
| + if (IPC::AttachmentBroker::GetGlobal()) {
|
| + IPC::AttachmentBroker::GetGlobal()->DeregisterCommunicationChannel(
|
| + network_channel_.get());
|
| + }
|
| network_channel_.reset();
|
|
|
| if (started_) {
|
|
|