| Index: base/test/test_file_util_mac.cc
|
| diff --git a/base/test/test_file_util_mac.cc b/base/test/test_file_util_mac.cc
|
| index 316b5c3d01aa9aec7c42d64bce64be95cd0b0969..ea299a63e6f5f7d79ca0f0f669a9f0993166a1f5 100644
|
| --- a/base/test/test_file_util_mac.cc
|
| +++ b/base/test/test_file_util_mac.cc
|
| @@ -17,15 +17,28 @@ bool EvictFileFromSystemCache(const FilePath& file) {
|
| // default) + MAP_SHARED, then do an msync to invalidate the memory. The next
|
| // open should then have to load the file from disk.
|
|
|
| + int64 length;
|
| + if (!file_util::GetFileSize(file, &length)) {
|
| + LOG(ERROR) << "failed to get size of " << file.value();
|
| + return false;
|
| + }
|
| +
|
| + // When a file is empty, we do not need to evict it from cache.
|
| + // In fact, an attempt to map it to memory will result in error.
|
| + if (length == 0) {
|
| + LOG(WARNING) << "file size is zero, will not attempt to map to memory";
|
| + return true;
|
| + }
|
| +
|
| file_util::MemoryMappedFile mapped_file;
|
| if (!mapped_file.Initialize(file)) {
|
| - DLOG(WARNING) << "failed to memory map " << file.value();
|
| + LOG(WARNING) << "failed to memory map " << file.value();
|
| return false;
|
| }
|
|
|
| if (msync(const_cast<uint8*>(mapped_file.data()), mapped_file.length(),
|
| MS_INVALIDATE) != 0) {
|
| - DLOG(WARNING) << "failed to invalidate memory map of " << file.value()
|
| + LOG(WARNING) << "failed to invalidate memory map of " << file.value()
|
| << ", errno: " << errno;
|
| return false;
|
| }
|
|
|