Index: chrome/browser/process_singleton_win.cc |
diff --git a/chrome/browser/process_singleton_win.cc b/chrome/browser/process_singleton_win.cc |
index 75918cd646d30acc63b9ec69397b038600f8caa0..9ce53e79637f69793e5fef494c868585026d16c7 100644 |
--- a/chrome/browser/process_singleton_win.cc |
+++ b/chrome/browser/process_singleton_win.cc |
@@ -284,14 +284,16 @@ ProcessSingleton::NotifyResult ProcessSingleton::NotifyOtherProcess() { |
ProcessSingleton::NotifyResult |
ProcessSingleton::NotifyOtherProcessOrCreate() { |
ProcessSingleton::NotifyResult result = PROCESS_NONE; |
- if (!Create()) { |
+ // While the remote window is not functional, attept to create |
+ // the Singleton. |
+ while (result == PROCESS_NONE && !Create()) { |
+ // Process attepts to notify the existing remote window. If the |
+ // remote window is fund to be hung, the user is notified and |
+ // asked to confirm the termination of the hung window. |
result = NotifyOtherProcess(); |
grt (UTC plus 2)
2016/08/24 10:01:26
this will return PROCESS_NONE if AttemptToNotifyRu
gcomanici
2016/08/25 19:26:07
The new patch now runs this for the case when the
|
- if (result == PROCESS_NONE) |
- result = PROFILE_IN_USE; |
- } else { |
- g_browser_process->platform_part()->PlatformSpecificCommandLineProcessing( |
- *base::CommandLine::ForCurrentProcess()); |
} |
+ g_browser_process->platform_part()->PlatformSpecificCommandLineProcessing( |
grt (UTC plus 2)
2016/08/24 10:01:26
this must only happen when Create() returns true
gcomanici
2016/08/25 19:26:07
Done.
|
+ *base::CommandLine::ForCurrentProcess()); |
return result; |
} |