| Index: base/memory/discardable_memory_allocator_android.cc
|
| diff --git a/base/memory/discardable_memory_allocator_android.cc b/base/memory/discardable_memory_allocator_android.cc
|
| index b1c936a7be54f9b3f48fa8fd9307b34d01c1005d..97e9abd7d6eec8baa54e2d58bed24fd6d1b2c3ba 100644
|
| --- a/base/memory/discardable_memory_allocator_android.cc
|
| +++ b/base/memory/discardable_memory_allocator_android.cc
|
| @@ -16,7 +16,6 @@
|
| #include "base/basictypes.h"
|
| #include "base/containers/hash_tables.h"
|
| #include "base/file_util.h"
|
| -#include "base/files/scoped_file.h"
|
| #include "base/logging.h"
|
| #include "base/memory/discardable_memory.h"
|
| #include "base/memory/scoped_vector.h"
|
| @@ -66,13 +65,14 @@
|
| size_t size,
|
| int* out_fd,
|
| void** out_address) {
|
| - base::ScopedFD fd(ashmem_create_region(name, size));
|
| - if (!fd.is_valid()) {
|
| + int fd = ashmem_create_region(name, size);
|
| + if (fd < 0) {
|
| DLOG(ERROR) << "ashmem_create_region() failed";
|
| return false;
|
| }
|
| -
|
| - const int err = ashmem_set_prot_region(fd.get(), PROT_READ | PROT_WRITE);
|
| + file_util::ScopedFD fd_closer(&fd);
|
| +
|
| + const int err = ashmem_set_prot_region(fd, PROT_READ | PROT_WRITE);
|
| if (err < 0) {
|
| DLOG(ERROR) << "Error " << err << " when setting protection of ashmem";
|
| return false;
|
| @@ -88,7 +88,8 @@
|
| return false;
|
| }
|
|
|
| - *out_fd = fd.release();
|
| + ignore_result(fd_closer.release());
|
| + *out_fd = fd;
|
| *out_address = address;
|
| return true;
|
| }
|
|
|