diff options
author | rvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-26 03:30:52 +0000 |
---|---|---|
committer | rvargas@chromium.org <rvargas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-26 03:30:52 +0000 |
commit | f26b40e5ce6ebd45c637f12d72d74d99aca185c9 (patch) | |
tree | e1366f274545c84e3d7492ca382f709dd01f00e4 /net/disk_cache | |
parent | 0c4fee504a2b8e7ebbbc78676057a3d90461af3c (diff) | |
download | chromium_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
Diffstat (limited to 'net/disk_cache')
-rw-r--r-- | net/disk_cache/rankings.cc | 10 |
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 { |