summaryrefslogtreecommitdiffstats
path: root/chrome/service/service_ipc_server.cc
diff options
context:
space:
mode:
authorscottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-05 00:23:44 +0000
committerscottbyer@chromium.org <scottbyer@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-03-05 00:23:44 +0000
commitbe51dd2522544e7906e1cec6ac29ebf765fb2a4b (patch)
tree91f0ac2868d4a6439bda929b808996cabc2ce812 /chrome/service/service_ipc_server.cc
parentdf680a8bb1bb8660c85f63205d0bd220a0f1fd73 (diff)
downloadchromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.zip
chromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.tar.gz
chromium_src-be51dd2522544e7906e1cec6ac29ebf765fb2a4b.tar.bz2
Mac print proxy out from flag.
We found the issue with control of the service process, and with that fix the proxy is stable enough to be exposed. The fix also improves the Linux proxy control, but an autostarted service process on Linux still has an issue, so that remains behind the flag. BUG=74223 TEST=See that cloud print proxy is not in about:flags on the Mac, and the sign in is availble in Under the Hood. Signing in, restarting Chromium, and disabling the proxy works (removes the autostart file is the quickest visible way to verify). Review URL: http://codereview.chromium.org/6633004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@77005 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/service/service_ipc_server.cc')
-rw-r--r--chrome/service/service_ipc_server.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/service/service_ipc_server.cc b/chrome/service/service_ipc_server.cc
index 7542e37..e746b30 100644
--- a/chrome/service/service_ipc_server.cc
+++ b/chrome/service/service_ipc_server.cc
@@ -66,7 +66,12 @@ void ServiceIPCServer::OnChannelError() {
// define a Client interface that the ServiceProcess can implement.
if (client_was_connected) {
if (g_service_process->HandleClientDisconnect()) {
+#if defined(OS_WIN)
+ // On Windows, once an error on a named pipe occurs, the named pipe is no
+ // longer valid and must be re-created. This is not the case on Mac or
+ // Linux.
CreateChannel();
+#endif
}
} else {
// If the client was never even connected we had an error connecting.