Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7101)

Unified Diff: chrome/browser/process_singleton_win.cc

Issue 2271833002: Continue browser startup after killing a hung browser instance. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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;
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698