summaryrefslogtreecommitdiffstats
path: root/chrome/browser/service
diff options
context:
space:
mode:
authorsanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 01:44:25 +0000
committersanjeevr@chromium.org <sanjeevr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-10-12 01:44:25 +0000
commitb35ca29a5cd2faee6395a5fc14779ccc01bd3b47 (patch)
tree4fb088c38b1924fbe18abc53f2b134f4274d083c /chrome/browser/service
parentfe4ccbef2c5d92d2fce6d4c2fd49b69248275f9b (diff)
downloadchromium_src-b35ca29a5cd2faee6395a5fc14779ccc01bd3b47.zip
chromium_src-b35ca29a5cd2faee6395a5fc14779ccc01bd3b47.tar.gz
chromium_src-b35ca29a5cd2faee6395a5fc14779ccc01bd3b47.tar.bz2
Added the service process pid to the shared memory data. This will be used for tests. Also cleaned up some of the method names in service_process_utils.cc to make them clearer.
BUG=None. TEST=Browser tests. Review URL: http://codereview.chromium.org/3727002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62223 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/service')
-rw-r--r--chrome/browser/service/service_process_control.cc4
-rw-r--r--chrome/browser/service/service_process_control_browsertest.cc11
2 files changed, 12 insertions, 3 deletions
diff --git a/chrome/browser/service/service_process_control.cc b/chrome/browser/service/service_process_control.cc
index acccbda..ad3c326 100644
--- a/chrome/browser/service/service_process_control.cc
+++ b/chrome/browser/service/service_process_control.cc
@@ -54,7 +54,7 @@ class ServiceProcessControl::Launcher
void DoDetectLaunched(Task* task) {
const uint32 kMaxLaunchDetectRetries = 10;
- launched_ = CheckServiceProcessRunning();
+ launched_ = CheckServiceProcessReady();
if (launched_ || (retry_count_ >= kMaxLaunchDetectRetries)) {
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
NewRunnableMethod(this, &Launcher::Notify, task));
@@ -130,7 +130,7 @@ void ServiceProcessControl::Launch(Task* task) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
// If the service process is already running then connects to it.
- if (CheckServiceProcessRunning()) {
+ if (CheckServiceProcessReady()) {
ConnectInternal(task);
return;
}
diff --git a/chrome/browser/service/service_process_control_browsertest.cc b/chrome/browser/service/service_process_control_browsertest.cc
index 5c59e87..c9038e6 100644
--- a/chrome/browser/service/service_process_control_browsertest.cc
+++ b/chrome/browser/service/service_process_control_browsertest.cc
@@ -47,6 +47,8 @@ class ServiceProcessControlBrowserTest
void WaitForShutdown() {
// We will keep trying every second till we hit the terminate timeout.
+ // TODO(sanjeevr): Use GetServiceProcessPid() to wait for termination.
+ // Will do this in a separate CL.
int retries_left = TestTimeouts::wait_for_terminate_timeout_ms()/1000;
MessageLoop::current()->PostDelayedTask(
FROM_HERE,
@@ -58,7 +60,7 @@ class ServiceProcessControlBrowserTest
}
void DoDetectShutdown(int retries_left) {
- bool service_is_running = CheckServiceProcessRunning();
+ bool service_is_running = CheckServiceProcessReady();
if (!retries_left)
EXPECT_FALSE(service_is_running);
if (retries_left && service_is_running) {
@@ -148,6 +150,13 @@ IN_PROC_BROWSER_TEST_F(ServiceProcessControlBrowserTest, ForceShutdown) {
WaitForShutdown();
}
+IN_PROC_BROWSER_TEST_F(ServiceProcessControlBrowserTest, CheckPid) {
+ EXPECT_EQ(0, GetServiceProcessPid());
+ // Launch the service process.
+ LaunchServiceProcessControl();
+ EXPECT_NE(static_cast<base::ProcessId>(0), GetServiceProcessPid());
+}
+
#endif
DISABLE_RUNNABLE_METHOD_REFCOUNT(ServiceProcessControlBrowserTest);