diff options
Diffstat (limited to 'mojo/edk/system/node_channel.cc')
-rw-r--r-- | mojo/edk/system/node_channel.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mojo/edk/system/node_channel.cc b/mojo/edk/system/node_channel.cc index 7e76fe4..1be5e47 100644 --- a/mojo/edk/system/node_channel.cc +++ b/mojo/edk/system/node_channel.cc @@ -12,6 +12,7 @@ #include "base/location.h" #include "base/logging.h" #include "mojo/edk/system/channel.h" +#include "mojo/edk/system/request_context.h" #if defined(OS_MACOSX) && !defined(OS_IOS) #include "mojo/edk/system/mach_port_relay.h" @@ -384,6 +385,8 @@ void NodeChannel::OnChannelMessage(const void* payload, ScopedPlatformHandleVectorPtr handles) { DCHECK(io_task_runner_->RunsTasksOnCurrentThread()); + RequestContext request_context(RequestContext::Source::SYSTEM); + #if defined(OS_WIN) // If we receive handles from a known process, rewrite them to our own // process. This can occur when a privileged node receives handles directly @@ -585,6 +588,8 @@ void NodeChannel::OnChannelMessage(const void* payload, void NodeChannel::OnChannelError() { DCHECK(io_task_runner_->RunsTasksOnCurrentThread()); + RequestContext request_context(RequestContext::Source::SYSTEM); + ShutDown(); // |OnChannelError()| may cause |this| to be destroyed, but still need access // to the name name after that destruction. So may a copy of |