AU: Retry up to 3 times 30 seconds apart on HTTP response code 0.
This is a temporary way to avoid failing to do an update check on resume by
allowing at least 1.5 minutes for the network to go online.
BUG=9705
TEST=tested on device through suspend/resume; unit tests
Change-Id: I291a1c31ce87c17d5dce0e30488d454d7690ddbc
Review URL: http://codereview.chromium.org/5260004
diff --git a/update_attempter.cc b/update_attempter.cc
index 4e7d7bf..7c958cb 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -162,11 +162,18 @@
processor_->set_delegate(this);
// Actions:
+ LibcurlHttpFetcher* update_check_fetcher =
+ new LibcurlHttpFetcher(GetProxyResolver());
+ // If this is an automatic check, try harder to connect to the network. See
+ // comment in libcurl_http_fetcher.cc.
+ if (!obey_proxies) {
+ update_check_fetcher->set_no_network_max_retries(3);
+ }
shared_ptr<OmahaRequestAction> update_check_action(
new OmahaRequestAction(prefs_,
omaha_request_params_,
NULL,
- new LibcurlHttpFetcher(GetProxyResolver())));
+ update_check_fetcher)); // passes ownership
shared_ptr<OmahaResponseHandlerAction> response_handler_action(
new OmahaResponseHandlerAction(prefs_));
shared_ptr<FilesystemCopierAction> filesystem_copier_action(