Index: mojo/edk/system/core.cc |
diff --git a/mojo/edk/system/core.cc b/mojo/edk/system/core.cc |
index 4bb07eaf3886bb113df9dbbd3bbb4c0c681751b5..d2a421ebeeee474cde11153c9f339cc1f8bac05d 100644 |
--- a/mojo/edk/system/core.cc |
+++ b/mojo/edk/system/core.cc |
@@ -187,6 +187,17 @@ void Core::ChildLaunchFailed(const std::string& child_token) { |
GetNodeController()->CloseChildPorts(child_token); |
} |
+ScopedMessagePipeHandle Core::ConnectToPeerProcess( |
+ ScopedPlatformHandle pipe_handle) { |
+ RequestContext request_context; |
+ ports::PortRef port0, port1; |
+ GetNodeController()->node()->CreatePortPair(&port0, &port1); |
+ MojoHandle handle = AddDispatcher(new MessagePipeDispatcher( |
+ GetNodeController(), port0, kUnknownPipeIdForDebug, 0)); |
+ GetNodeController()->ConnectToPeer(std::move(pipe_handle), port1); |
+ return ScopedMessagePipeHandle(MessagePipeHandle(handle)); |
+} |
+ |
void Core::InitChild(ScopedPlatformHandle platform_handle) { |
GetNodeController()->ConnectToParent(std::move(platform_handle)); |
} |