| Index: chrome/browser/browser_main.cc
|
| diff --git a/chrome/browser/browser_main.cc b/chrome/browser/browser_main.cc
|
| index 7cf76df9a014e879675bba4ee5c1c1e52233419b..cbfd34a0f75b756365c1a972d8d8de5b8ca3f349 100644
|
| --- a/chrome/browser/browser_main.cc
|
| +++ b/chrome/browser/browser_main.cc
|
| @@ -219,13 +219,10 @@ bool CreateUniqueChromeEvent() {
|
| PathService::Get(base::FILE_EXE, &exe);
|
| std::replace(exe.begin(), exe.end(), '\\', '!');
|
| std::transform(exe.begin(), exe.end(), exe.begin(), tolower);
|
| + exe = L"Global\\" + exe;
|
| HANDLE handle = CreateEvent(NULL, TRUE, TRUE, exe.c_str());
|
| - bool already_running = false;
|
| - if (GetLastError() == ERROR_ALREADY_EXISTS) {
|
| - already_running = true;
|
| - CloseHandle(handle);
|
| - }
|
| - return already_running;
|
| + int error = GetLastError();
|
| + return (error == ERROR_ALREADY_EXISTS || error == ERROR_ACCESS_DENIED);
|
| }
|
|
|
| // Check if there is any machine level Chrome installed on the current
|
| @@ -438,10 +435,7 @@ int BrowserMain(CommandLine &parsed_command_line, int show_command,
|
| if (message_window.NotifyOtherProcess(show_command))
|
| return ResultCodes::NORMAL_EXIT;
|
|
|
| - // Sometimes we end up killing browser process (http://b/1308130) so make
|
| - // sure we recreate unique event to indicate running browser process.
|
| message_window.HuntForZombieChromeProcesses();
|
| - already_running = (already_running && CreateUniqueChromeEvent());
|
|
|
| // Do the tasks if chrome has been upgraded while it was last running.
|
| if (!already_running && DoUpgradeTasks(parsed_command_line)) {
|
|
|