summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-26 03:30:52 +0000
committerrvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-26 03:30:52 +0000
commitf26b40e5ce6ebd45c637f12d72d74d99aca185c9 (patch)
treee1366f274545c84e3d7492ca382f709dd01f00e4
parent0c4fee504a2b8e7ebbbc78676057a3d90461af3c (diff)
downloadchromium_src-f26b40e5ce6ebd45c637f12d72d74d99aca185c9.zip
chromium_src-f26b40e5ce6ebd45c637f12d72d74d99aca185c9.tar.gz
chromium_src-f26b40e5ce6ebd45c637f12d72d74d99aca185c9.tar.bz2
Disk cache: Continue looking for list errors after the first one.
BUG=none TEST=none TBR=gavinp@chromium.org Review URL: https://chromiumcodereview.appspot.com/10659025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144102 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--net/disk_cache/rankings.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/net/disk_cache/rankings.cc b/net/disk_cache/rankings.cc
index 99ed927..8d8a4df 100644
--- a/net/disk_cache/rankings.cc
+++ b/net/disk_cache/rankings.cc
@@ -484,17 +484,19 @@ void Rankings::TrackRankingsBlock(CacheRankingsBlock* node,
int Rankings::SelfCheck() {
int total = 0;
+ int error = 0;
base::TimeTicks start = base::TimeTicks::Now();
for (int i = 0; i < LAST_ELEMENT; i++) {
int partial = CheckList(static_cast<List>(i));
- if (partial < 0)
- return partial;
- total += partial;
+ if (partial < 0 && !error)
+ error = partial;
+ else if (partial > 0)
+ total += partial;
}
CACHE_UMA(AGE_MS, "ListSelfCheckTime", 0, start);
QuickListCheck();
- return total;
+ return error ? error : total;
}
bool Rankings::SanityCheck(CacheRankingsBlock* node, bool from_list) const {