Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(573)

Side by Side Diff: net/disk_cache/mapped_file_posix.cc

Issue 160288: Assorted fixes for 64-bit. (Closed)
Patch Set: Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/mapped_file.h" 5 #include "net/disk_cache/mapped_file.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <sys/mman.h> 8 #include <sys/mman.h>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "net/disk_cache/disk_cache.h" 11 #include "net/disk_cache/disk_cache.h"
12 12
13 namespace disk_cache { 13 namespace disk_cache {
14 14
15 void* MappedFile::Init(const std::wstring& name, size_t size) { 15 void* MappedFile::Init(const std::wstring& name, size_t size) {
16 DCHECK(!init_); 16 DCHECK(!init_);
17 if (init_ || !File::Init(name)) 17 if (init_ || !File::Init(name))
18 return NULL; 18 return NULL;
19 19
20 if (!size) 20 if (!size)
21 size = GetLength(); 21 size = GetLength();
22 22
23 buffer_ = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED, 23 buffer_ = mmap(NULL, size, PROT_READ | PROT_WRITE, MAP_SHARED,
24 platform_file(), 0); 24 platform_file(), 0);
25 init_ = true; 25 init_ = true;
26 DCHECK(reinterpret_cast<int>(buffer_) != -1); 26 DCHECK(reinterpret_cast<intptr_t>(buffer_) != -1);
Evan Martin 2009/07/28 21:15:29 how about comparing to MAP_FAILED?
27 if (reinterpret_cast<int>(buffer_) == -1) 27 if (reinterpret_cast<intptr_t>(buffer_) == -1)
28 buffer_ = 0; 28 buffer_ = 0;
29 29
30 view_size_ = size; 30 view_size_ = size;
31 return buffer_; 31 return buffer_;
32 } 32 }
33 33
34 MappedFile::~MappedFile() { 34 MappedFile::~MappedFile() {
35 if (!init_) 35 if (!init_)
36 return; 36 return;
37 37
38 if (buffer_) { 38 if (buffer_) {
39 int ret = munmap(buffer_, view_size_); 39 int ret = munmap(buffer_, view_size_);
40 DCHECK(0 == ret); 40 DCHECK(0 == ret);
41 } 41 }
42 } 42 }
43 43
44 bool MappedFile::Load(const FileBlock* block) { 44 bool MappedFile::Load(const FileBlock* block) {
45 size_t offset = block->offset() + view_size_; 45 size_t offset = block->offset() + view_size_;
46 return Read(block->buffer(), block->size(), offset); 46 return Read(block->buffer(), block->size(), offset);
47 } 47 }
48 48
49 bool MappedFile::Store(const FileBlock* block) { 49 bool MappedFile::Store(const FileBlock* block) {
50 size_t offset = block->offset() + view_size_; 50 size_t offset = block->offset() + view_size_;
51 return Write(block->buffer(), block->size(), offset); 51 return Write(block->buffer(), block->size(), offset);
52 } 52 }
53 53
54 } // namespace disk_cache 54 } // namespace disk_cache
OLDNEW
« chrome/renderer/renderer_webkitclient_impl.cc ('K') | « net/base/file_stream_posix.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698