summaryrefslogtreecommitdiffstats
path: root/mojo/edk/system/node_channel.cc
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/edk/system/node_channel.cc')
-rw-r--r--mojo/edk/system/node_channel.cc5
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