diff options
Diffstat (limited to 'chrome/browser/service')
-rw-r--r-- | chrome/browser/service/service_process_control.cc | 8 |
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); |