summaryrefslogtreecommitdiffstats
path: root/chrome/browser/service
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/service')
-rw-r--r--chrome/browser/service/service_process_control.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/service/service_process_control.cc b/chrome/browser/service/service_process_control.cc
index 49702d1..08a1c9f 100644
--- a/chrome/browser/service/service_process_control.cc
+++ b/chrome/browser/service/service_process_control.cc
@@ -135,6 +135,14 @@ void ServiceProcessControl::Launch(Task* task) {
return;
}
+ // Prevent quick calls to Launch in succession from causing a crash.
+ // TODO(scottbyer) - ServiceProcessControl launch task callback code needs to
+ // be enhanced to deal with this properly. See
+ // http://code.google.com/p/chromium/issues/detail?id=58802
+ if (launcher_) {
+ return;
+ }
+
// A service process should have a different mechanism for starting, but now
// we start it as if it is a child process.
FilePath exe_path = ChildProcessHost::GetChildPath(true);