diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-23 00:25:06 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-23 00:25:06 +0000 |
commit | f784592cd075d7866c74e410833768c8b6f9b622 (patch) | |
tree | 8512d6dc402faef8df803c7ff07ba5b77eecda3f /ipc | |
parent | a63f220009f90657fc1070d4a9bde26726deb6b4 (diff) | |
download | chromium_src-f784592cd075d7866c74e410833768c8b6f9b622.zip chromium_src-f784592cd075d7866c74e410833768c8b6f9b622.tar.gz chromium_src-f784592cd075d7866c74e410833768c8b6f9b622.tar.bz2 |
Switch the first thread in a child process to be the main thread, and make theIO thread be the second thread. The change is needed for plugins on mac.
Review URL: http://codereview.chromium.org/155944
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21355 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ipc')
-rw-r--r-- | ipc/ipc_channel_proxy.cc | 4 | ||||
-rw-r--r-- | ipc/ipc_channel_proxy.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/ipc/ipc_channel_proxy.cc b/ipc/ipc_channel_proxy.cc index d96e413..eba506d 100644 --- a/ipc/ipc_channel_proxy.cc +++ b/ipc/ipc_channel_proxy.cc @@ -272,6 +272,10 @@ void ChannelProxy::RemoveFilter(MessageFilter* filter) { context_.get(), &Context::OnRemoveFilter, filter)); } +void ChannelProxy::ClearIPCMessageLoop() { + context()->ClearIPCMessageLoop(); +} + #if defined(OS_POSIX) // See the TODO regarding lazy initialization of the channel in // ChannelProxy::Init(). diff --git a/ipc/ipc_channel_proxy.h b/ipc/ipc_channel_proxy.h index 1aed33e..77ddd87 100644 --- a/ipc/ipc_channel_proxy.h +++ b/ipc/ipc_channel_proxy.h @@ -117,6 +117,9 @@ class ChannelProxy : public Message::Sender { void AddFilter(MessageFilter* filter); void RemoveFilter(MessageFilter* filter); + // Called to clear the pointer to the IPC message loop when it's going away. + void ClearIPCMessageLoop(); + #if defined(OS_POSIX) // Calls through to the underlying channel's methods. // TODO(playmobil): For now this is only implemented in the case of @@ -140,6 +143,7 @@ class ChannelProxy : public Message::Sender { Context(Channel::Listener* listener, MessageFilter* filter, MessageLoop* ipc_thread); virtual ~Context() { } + void ClearIPCMessageLoop() { ipc_message_loop_ = NULL; } MessageLoop* ipc_message_loop() const { return ipc_message_loop_; } const std::string& channel_id() const { return channel_id_; } |