| OLD | NEW |
| 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "net/disk_cache/backend_impl.h" | 5 #include "net/disk_cache/backend_impl.h" |
| 6 | 6 |
| 7 #include "base/file_path.h" | 7 #include "base/file_path.h" |
| 8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/histogram.h" | 9 #include "base/histogram.h" |
| 10 #include "base/message_loop.h" | 10 #include "base/message_loop.h" |
| (...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 781 } | 781 } |
| 782 | 782 |
| 783 void BackendImpl::CriticalError(int error) { | 783 void BackendImpl::CriticalError(int error) { |
| 784 LOG(ERROR) << "Critical error found " << error; | 784 LOG(ERROR) << "Critical error found " << error; |
| 785 if (disabled_) | 785 if (disabled_) |
| 786 return; | 786 return; |
| 787 | 787 |
| 788 LogStats(); | 788 LogStats(); |
| 789 ReportError(error); | 789 ReportError(error); |
| 790 | 790 |
| 791 // Reset the mask_ if it was not given by the user. |
| 792 if (mask_ == data_->header.table_len - 1) |
| 793 mask_ = 0; |
| 794 |
| 791 // Setting the index table length to an invalid value will force re-creation | 795 // Setting the index table length to an invalid value will force re-creation |
| 792 // of the cache files. | 796 // of the cache files. |
| 793 data_->header.table_len = 1; | 797 data_->header.table_len = 1; |
| 794 disabled_ = true; | 798 disabled_ = true; |
| 795 | 799 |
| 796 if (!num_refs_) | 800 if (!num_refs_) |
| 797 RestartCache(); | 801 RestartCache(); |
| 798 } | 802 } |
| 799 | 803 |
| 800 void BackendImpl::ReportError(int error) { | 804 void BackendImpl::ReportError(int error) { |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 976 | 980 |
| 977 // Don't call Init() if directed by the unit test: we are simulating a failure | 981 // Don't call Init() if directed by the unit test: we are simulating a failure |
| 978 // trying to re-enable the cache. | 982 // trying to re-enable the cache. |
| 979 if (unit_test_) | 983 if (unit_test_) |
| 980 init_ = true; // Let the destructor do proper cleanup. | 984 init_ = true; // Let the destructor do proper cleanup. |
| 981 else if (Init()) | 985 else if (Init()) |
| 982 stats_.SetCounter(Stats::FATAL_ERROR, errors + 1); | 986 stats_.SetCounter(Stats::FATAL_ERROR, errors + 1); |
| 983 } | 987 } |
| 984 | 988 |
| 985 void BackendImpl::PrepareForRestart() { | 989 void BackendImpl::PrepareForRestart() { |
| 990 // Reset the mask_ if it was not given by the user. |
| 991 if (mask_ == data_->header.table_len - 1) |
| 992 mask_ = 0; |
| 993 |
| 986 data_->header.crash = 0; | 994 data_->header.crash = 0; |
| 987 index_ = NULL; | 995 index_ = NULL; |
| 988 data_ = NULL; | 996 data_ = NULL; |
| 989 block_files_.CloseFiles(); | 997 block_files_.CloseFiles(); |
| 990 rankings_.Reset(); | 998 rankings_.Reset(); |
| 991 init_ = false; | 999 init_ = false; |
| 992 restarted_ = true; | 1000 restarted_ = true; |
| 993 } | 1001 } |
| 994 | 1002 |
| 995 int BackendImpl::NewEntry(Addr address, EntryImpl** entry, bool* dirty) { | 1003 int BackendImpl::NewEntry(Addr address, EntryImpl** entry, bool* dirty) { |
| (...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1491 | 1499 |
| 1492 return num_dirty; | 1500 return num_dirty; |
| 1493 } | 1501 } |
| 1494 | 1502 |
| 1495 bool BackendImpl::CheckEntry(EntryImpl* cache_entry) { | 1503 bool BackendImpl::CheckEntry(EntryImpl* cache_entry) { |
| 1496 RankingsNode* rankings = cache_entry->rankings()->Data(); | 1504 RankingsNode* rankings = cache_entry->rankings()->Data(); |
| 1497 return !rankings->pointer; | 1505 return !rankings->pointer; |
| 1498 } | 1506 } |
| 1499 | 1507 |
| 1500 } // namespace disk_cache | 1508 } // namespace disk_cache |
| OLD | NEW |