Index: ipc/ipc_channel_common.cc |
diff --git a/ipc/ipc_channel_common.cc b/ipc/ipc_channel_common.cc |
index 10b88b6de7eee7f3546689a3e956dc07de419399..6225a869ae6f4f18036294e8a4585640d2921242 100644 |
--- a/ipc/ipc_channel_common.cc |
+++ b/ipc/ipc_channel_common.cc |
@@ -9,31 +9,37 @@ |
namespace IPC { |
+#if defined(OS_LINUX) |
+ |
+namespace { |
+int g_global_pid = 0; |
+} |
+ |
// static |
-std::unique_ptr<Channel> Channel::CreateClient( |
- const IPC::ChannelHandle& channel_handle, |
- Listener* listener, |
- const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner) { |
- if (channel_handle.mojo_handle.is_valid()) { |
- return ChannelMojo::Create( |
- mojo::ScopedMessagePipeHandle(channel_handle.mojo_handle), |
- Channel::MODE_CLIENT, listener, ipc_task_runner); |
- } |
- return Channel::Create(channel_handle, Channel::MODE_CLIENT, listener); |
+void Channel::SetGlobalPid(int pid) { |
+ g_global_pid = pid; |
} |
// static |
-std::unique_ptr<Channel> Channel::CreateNamedServer( |
- const IPC::ChannelHandle& channel_handle, |
- Listener* listener) { |
- return Channel::Create(channel_handle, Channel::MODE_NAMED_SERVER, listener); |
+int Channel::GetGlobalPid() { |
+ return g_global_pid; |
} |
+#endif // defined(OS_LINUX) |
+ |
// static |
-std::unique_ptr<Channel> Channel::CreateNamedClient( |
+std::unique_ptr<Channel> Channel::CreateClient( |
const IPC::ChannelHandle& channel_handle, |
- Listener* listener) { |
- return Channel::Create(channel_handle, Channel::MODE_NAMED_CLIENT, listener); |
+ Listener* listener, |
+ const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner) { |
+#if defined(OS_NACL_SFI) |
+ return Channel::Create(channel_handle, Channel::MODE_CLIENT, listener); |
+#else |
+ DCHECK(channel_handle.is_mojo_channel_handle()); |
+ return ChannelMojo::Create( |
+ mojo::ScopedMessagePipeHandle(channel_handle.mojo_handle), |
+ Channel::MODE_CLIENT, listener, ipc_task_runner); |
+#endif |
} |
// static |
@@ -41,12 +47,14 @@ std::unique_ptr<Channel> Channel::CreateServer( |
const IPC::ChannelHandle& channel_handle, |
Listener* listener, |
const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner) { |
- if (channel_handle.mojo_handle.is_valid()) { |
- return ChannelMojo::Create( |
- mojo::ScopedMessagePipeHandle(channel_handle.mojo_handle), |
- Channel::MODE_SERVER, listener, ipc_task_runner); |
- } |
+#if defined(OS_NACL_SFI) |
return Channel::Create(channel_handle, Channel::MODE_SERVER, listener); |
+#else |
+ DCHECK(channel_handle.is_mojo_channel_handle()); |
+ return ChannelMojo::Create( |
+ mojo::ScopedMessagePipeHandle(channel_handle.mojo_handle), |
+ Channel::MODE_SERVER, listener, ipc_task_runner); |
+#endif |
} |
// static |
@@ -82,4 +90,3 @@ void Channel::WillConnect() { |
} |
} // namespace IPC |
- |