| Index: runtime/bin/file_android.cc
|
| diff --git a/runtime/bin/file_android.cc b/runtime/bin/file_android.cc
|
| index 4ec84278ca3d80f4ce690cc13af457c05829f732..3eb50958cd11bab8af787e436cdec1fc3f1f971b 100644
|
| --- a/runtime/bin/file_android.cc
|
| +++ b/runtime/bin/file_android.cc
|
| @@ -79,7 +79,7 @@ bool File::IsClosed() {
|
| }
|
|
|
|
|
| -void* File::Map(MapType type, int64_t position, int64_t length) {
|
| +MappedMemory* File::Map(MapType type, int64_t position, int64_t length) {
|
| ASSERT(handle_->fd() >= 0);
|
| int prot = PROT_NONE;
|
| switch (type) {
|
| @@ -96,7 +96,15 @@ void* File::Map(MapType type, int64_t position, int64_t length) {
|
| if (addr == MAP_FAILED) {
|
| return NULL;
|
| }
|
| - return addr;
|
| + return new MappedMemory(addr, length);
|
| +}
|
| +
|
| +
|
| +void MappedMemory::Unmap() {
|
| + int result = munmap(address_, size_);
|
| + ASSERT(result == 0);
|
| + address_ = 0;
|
| + size_ = 0;
|
| }
|
|
|
|
|
|
|