| Index: tools/android/memdump/memdump.cc
|
| diff --git a/tools/android/memdump/memdump.cc b/tools/android/memdump/memdump.cc
|
| index 4f4dd14fd548ebc6b5dc672067c890b9ce42b62c..20684f69f820e6357661d5832da3b78a64b0300d 100644
|
| --- a/tools/android/memdump/memdump.cc
|
| +++ b/tools/android/memdump/memdump.cc
|
| @@ -22,7 +22,6 @@
|
| #include "base/callback_helpers.h"
|
| #include "base/containers/hash_tables.h"
|
| #include "base/file_util.h"
|
| -#include "base/files/scoped_file.h"
|
| #include "base/logging.h"
|
| #include "base/strings/string_number_conversions.h"
|
| #include "base/strings/string_split.h"
|
| @@ -437,12 +436,13 @@
|
| int page_flags_fd,
|
| ProcessMemory* process_memory) {
|
| const pid_t pid = process_memory->pid;
|
| - base::ScopedFD pagemap_fd(open(
|
| - base::StringPrintf("/proc/%d/pagemap", pid).c_str(), O_RDONLY));
|
| - if (!pagemap_fd.is_valid()) {
|
| + int pagemap_fd = open(
|
| + base::StringPrintf("/proc/%d/pagemap", pid).c_str(), O_RDONLY);
|
| + if (pagemap_fd < 0) {
|
| PLOG(ERROR) << "open";
|
| return false;
|
| }
|
| + file_util::ScopedFD auto_closer(&pagemap_fd);
|
| std::vector<MemoryMap>* const process_maps = &process_memory->memory_maps;
|
| if (!GetProcessMaps(pid, process_maps))
|
| return false;
|
| @@ -450,7 +450,7 @@
|
| it != process_maps->end(); ++it) {
|
| std::vector<PageInfo>* const committed_pages = &it->committed_pages;
|
| BitSet* const pages_bits = &it->committed_pages_bits;
|
| - GetPagesForMemoryMap(pagemap_fd.get(), *it, committed_pages, pages_bits);
|
| + GetPagesForMemoryMap(pagemap_fd, *it, committed_pages, pages_bits);
|
| SetPagesInfo(page_count_fd, page_flags_fd, committed_pages);
|
| }
|
| return true;
|
| @@ -489,17 +489,20 @@
|
|
|
| std::vector<ProcessMemory> processes_memory(pids.size());
|
| {
|
| - base::ScopedFD page_count_fd(open("/proc/kpagecount", O_RDONLY));
|
| - if (!page_count_fd.is_valid()) {
|
| + int page_count_fd = open("/proc/kpagecount", O_RDONLY);
|
| + if (page_count_fd < 0) {
|
| PLOG(ERROR) << "open /proc/kpagecount";
|
| return EXIT_FAILURE;
|
| }
|
|
|
| - base::ScopedFD page_flags_fd(open("/proc/kpageflags", O_RDONLY));
|
| - if (!page_flags_fd.is_valid()) {
|
| + int page_flags_fd = open("/proc/kpageflags", O_RDONLY);
|
| + if (page_flags_fd < 0) {
|
| PLOG(ERROR) << "open /proc/kpageflags";
|
| return EXIT_FAILURE;
|
| }
|
| +
|
| + file_util::ScopedFD page_count_fd_closer(&page_count_fd);
|
| + file_util::ScopedFD page_flags_fd_closer(&page_flags_fd);
|
|
|
| base::ScopedClosureRunner auto_resume_processes(
|
| base::Bind(&KillAll, pids, SIGCONT));
|
| @@ -510,7 +513,7 @@
|
| &processes_memory[it - pids.begin()];
|
| process_memory->pid = *it;
|
| if (!CollectProcessMemoryInformation(
|
| - page_count_fd.get(), page_flags_fd.get(), process_memory)) {
|
| + page_count_fd, page_flags_fd, process_memory)) {
|
| return EXIT_FAILURE;
|
| }
|
| }
|
|
|