summaryrefslogtreecommitdiffstats
path: root/ipc/ipc_channel_posix.cc
diff options
context:
space:
mode:
authormorrita@chromium.org <morrita@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-04 23:44:17 +0000
committermorrita@chromium.org <morrita@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-08-04 23:44:17 +0000
commit6486088e8bb6dc810157503edfa3c75a58e9e49d (patch)
treeeda9fabacac5b6796c142ec4cc402b47bdf97dd8 /ipc/ipc_channel_posix.cc
parentd93dbd1248f4e556c9c1c1005f5d051e3fe1efc8 (diff)
downloadchromium_src-6486088e8bb6dc810157503edfa3c75a58e9e49d.zip
chromium_src-6486088e8bb6dc810157503edfa3c75a58e9e49d.tar.gz
chromium_src-6486088e8bb6dc810157503edfa3c75a58e9e49d.tar.bz2
Introduce ChannelMojo
This CL introduces ChannelMojo IPC::Channel implementation and optionally applies it for renderer-browser IPC channel. Current stability is like 5-seconds browser and There are rough edges. It often closes the channel so needs to be more robust. Even though the level of stability, having it in the tree will helps team to try and improve it. BUG=377980 R=darin@chromium.org,jam@chromium.org,viettrungluu@chromium.org TEST=ipc_channel_mojo_unittest.cc Review URL: https://codereview.chromium.org/382333002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287402 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc/ipc_channel_posix.cc')
-rw-r--r--ipc/ipc_channel_posix.cc13
1 files changed, 12 insertions, 1 deletions
diff --git a/ipc/ipc_channel_posix.cc b/ipc/ipc_channel_posix.cc
index 8ddf73a..ac9de55 100644
--- a/ipc/ipc_channel_posix.cc
+++ b/ipc/ipc_channel_posix.cc
@@ -747,7 +747,7 @@ void ChannelPosix::ClosePipeOnError() {
}
}
-int ChannelPosix::GetHelloMessageProcId() {
+int ChannelPosix::GetHelloMessageProcId() const {
int pid = base::GetCurrentProcId();
#if defined(OS_LINUX)
// Our process may be in a sandbox with a separate PID namespace.
@@ -1050,6 +1050,17 @@ base::ProcessId ChannelPosix::GetPeerPID() const {
return peer_pid_;
}
+base::ProcessId ChannelPosix::GetSelfPID() const {
+ return GetHelloMessageProcId();
+}
+
+ChannelHandle ChannelPosix::TakePipeHandle() {
+ ChannelHandle handle = ChannelHandle(pipe_name_,
+ base::FileDescriptor(pipe_, false));
+ pipe_ = -1;
+ return handle;
+}
+
//------------------------------------------------------------------------------
// Channel's methods