diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 20:29:28 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-03 20:29:28 +0000 |
commit | 92e81f2d93d8b7c6a29ebe53eeac172a11c744db (patch) | |
tree | cb30e427f0a88fce2afa8838e90990f4eb5bf9dc /chrome/common | |
parent | 7b398483f56fcbe4a84dc3eee6f80d1ec96c925a (diff) | |
download | chromium_src-92e81f2d93d8b7c6a29ebe53eeac172a11c744db.zip chromium_src-92e81f2d93d8b7c6a29ebe53eeac172a11c744db.tar.gz chromium_src-92e81f2d93d8b7c6a29ebe53eeac172a11c744db.tar.bz2 |
Make changes sanjeev suggested
BUG=NONE
TEST=BUILD
Review URL: http://codereview.chromium.org/6286082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73656 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r-- | chrome/common/service_process_util.h | 10 | ||||
-rw-r--r-- | chrome/common/service_process_util_posix.cc | 8 | ||||
-rw-r--r-- | chrome/common/service_process_util_unittest.cc | 8 | ||||
-rw-r--r-- | chrome/common/service_process_util_win.cc | 4 |
4 files changed, 18 insertions, 12 deletions
diff --git a/chrome/common/service_process_util.h b/chrome/common/service_process_util.h index c3ad259..175499d 100644 --- a/chrome/common/service_process_util.h +++ b/chrome/common/service_process_util.h @@ -12,7 +12,10 @@ #include "base/shared_memory.h" class Task; -class MessageLoop; + +namespace base { + class MessageLoopProxy; +} template <typename T> struct DefaultSingletonTraits; @@ -64,9 +67,10 @@ class ServiceProcessState { // This method is called when the service process is running and initialized. // |shutdown_task| is invoked when we get a shutdown request from another // process (in the same thread that called SignalReady). It can be NULL. - // |message_loop| must be of type IO and is the loop that POSIX uses + // |message_loop_proxy| must be of type IO and is the loop that POSIX uses // to monitor the service process. - bool SignalReady(MessageLoop *message_loop, Task* shutdown_task); + bool SignalReady( + base::MessageLoopProxy* message_loop_proxy, Task* shutdown_task); // Signal that the service process is stopped. void SignalStopped(); diff --git a/chrome/common/service_process_util_posix.cc b/chrome/common/service_process_util_posix.cc index 6abcf27..d6fd370 100644 --- a/chrome/common/service_process_util_posix.cc +++ b/chrome/common/service_process_util_posix.cc @@ -10,6 +10,7 @@ #include "base/file_util.h" #include "base/logging.h" #include "base/message_loop.h" +#include "base/message_loop_proxy.h" #include "base/message_pump_libevent.h" #include "base/path_service.h" #include "chrome/common/chrome_paths.h" @@ -186,11 +187,10 @@ bool ServiceProcessState::TakeSingletonLock() { return state_->initializing_lock_.get(); } -bool ServiceProcessState::SignalReady(MessageLoop* message_loop, - Task* shutdown_task) { +bool ServiceProcessState::SignalReady( + base::MessageLoopProxy* message_loop_proxy, Task* shutdown_task) { CHECK(state_); CHECK_EQ(g_signal_socket, -1); - DCHECK_EQ(message_loop->type(), MessageLoop::TYPE_IO); state_->running_lock_.reset(TakeServiceRunningLock(true)); if (state_->running_lock_.get() == NULL) { @@ -202,7 +202,7 @@ bool ServiceProcessState::SignalReady(MessageLoop* message_loop, PLOG(ERROR) << "pipe"; return false; } - message_loop->PostTask(FROM_HERE, + message_loop_proxy->PostTask(FROM_HERE, NewRunnableMethod(state_, &ServiceProcessState::StateData::SignalReady)); return true; } diff --git a/chrome/common/service_process_util_unittest.cc b/chrome/common/service_process_util_unittest.cc index b65812d..ad6b257 100644 --- a/chrome/common/service_process_util_unittest.cc +++ b/chrome/common/service_process_util_unittest.cc @@ -39,7 +39,9 @@ class ServiceProcessStateTest : public base::MultiProcessTest { ServiceProcessStateTest(); ~ServiceProcessStateTest(); virtual void SetUp(); - MessageLoop* IOMessageLoop() { return io_thread_.message_loop(); } + base::MessageLoopProxy* IOMessageLoopProxy() { + return io_thread_.message_loop_proxy(); + } void LaunchAndWait(const std::string& name); private: @@ -78,7 +80,7 @@ TEST_F(ServiceProcessStateTest, ReadyState) { ASSERT_FALSE(CheckServiceProcessReady()); ServiceProcessState* state = ServiceProcessState::GetInstance(); ASSERT_TRUE(state->Initialize()); - ASSERT_TRUE(state->SignalReady(IOMessageLoop(), NULL)); + ASSERT_TRUE(state->SignalReady(IOMessageLoopProxy(), NULL)); LaunchAndWait("ServiceProcessStateTestReadyTrue"); state->SignalStopped(); LaunchAndWait("ServiceProcessStateTestReadyFalse"); @@ -143,7 +145,7 @@ MULTIPROCESS_TEST_MAIN(ServiceProcessStateTestShutdown) { EXPECT_TRUE(io_thread_.StartWithOptions(options)); ServiceProcessState* state = ServiceProcessState::GetInstance(); EXPECT_TRUE(state->Initialize()); - EXPECT_TRUE(state->SignalReady(io_thread_.message_loop(), + EXPECT_TRUE(state->SignalReady(io_thread_.message_loop_proxy(), NewRunnableFunction(&ShutdownTask, MessageLoop::current()))); message_loop.PostDelayedTask(FROM_HERE, diff --git a/chrome/common/service_process_util_win.cc b/chrome/common/service_process_util_win.cc index e78bd73..f9a1816 100644 --- a/chrome/common/service_process_util_win.cc +++ b/chrome/common/service_process_util_win.cc @@ -101,8 +101,8 @@ bool ServiceProcessState::TakeSingletonLock() { return true; } -bool ServiceProcessState::SignalReady(MessageLoop *message_loop, - Task* shutdown_task) { +bool ServiceProcessState::SignalReady( + base::MessageLoopProxy* message_loop_proxy, Task* shutdown_task) { DCHECK(state_); DCHECK(state_->ready_event.IsValid()); if (!SetEvent(state_->ready_event.Get())) { |