diff options
author | Elliott Hughes <enh@google.com> | 2017-08-07 23:09:48 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-08-07 23:09:48 +0000 |
commit | 6278bc9fd84a5a53c278357628bc947f2b91c3f5 (patch) | |
tree | 5585cc8e91717f659603bfc064370fcdedbc03bb | |
parent | 51bdff6ccb73bb5e98bb2b9b7b1728d47cb55c0c (diff) | |
parent | dc7d1ddf171f87a5c70e7d8cebd4c858082e9639 (diff) | |
download | extras-6278bc9fd84a5a53c278357628bc947f2b91c3f5.tar.gz |
Merge "Fix fd ownership issue in PrintNativeInfo/GetNativeInfo."
-rw-r--r-- | memory_replay/Android.mk | 2 | ||||
-rw-r--r-- | memory_replay/NativeInfo.cpp | 7 |
2 files changed, 5 insertions, 4 deletions
diff --git a/memory_replay/Android.mk b/memory_replay/Android.mk index 2b299ada..b72f0061 100644 --- a/memory_replay/Android.mk +++ b/memory_replay/Android.mk @@ -17,6 +17,7 @@ LOCAL_MODULE := memory_replay LOCAL_MULTILIB := both LOCAL_MODULE_STEM_32 := $(LOCAL_MODULE)32 LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64 +LOCAL_SHARED_LIBRARIES := libbase include $(BUILD_EXECUTABLE) include $(CLEAR_VARS) @@ -27,6 +28,7 @@ LOCAL_MODULE_TAGS := debug LOCAL_MODULE := memory_replay LOCAL_MODULE_HOST_OS := linux LOCAL_LDLIBS := -lrt +LOCAL_SHARED_LIBRARIES := libbase include $(BUILD_HOST_EXECUTABLE) memory_replay_test_src_files := \ diff --git a/memory_replay/NativeInfo.cpp b/memory_replay/NativeInfo.cpp index b88eaf68..18c832bb 100644 --- a/memory_replay/NativeInfo.cpp +++ b/memory_replay/NativeInfo.cpp @@ -25,6 +25,8 @@ #include <sys/stat.h> #include <unistd.h> +#include <android-base/unique_fd.h> + #include "LineBuffer.h" #include "NativeInfo.h" @@ -55,7 +57,6 @@ void GetNativeInfo(int smaps_fd, size_t* pss_bytes, size_t* va_bytes) { total_pss_bytes += native_pss_kB * 1024; } } - close(smaps_fd); *pss_bytes = total_pss_bytes; *va_bytes = total_va_bytes; } @@ -64,7 +65,7 @@ void PrintNativeInfo(const char* preamble) { size_t pss_bytes; size_t va_bytes; - int smaps_fd = open("/proc/self/smaps", O_RDONLY); + android::base::unique_fd smaps_fd(open("/proc/self/smaps", O_RDONLY)); if (smaps_fd == -1) { err(1, "Cannot open /proc/self/smaps: %s\n", strerror(errno)); } @@ -73,6 +74,4 @@ void PrintNativeInfo(const char* preamble) { printf("%sNative PSS: %zu bytes %0.2fMB\n", preamble, pss_bytes, pss_bytes/(1024*1024.0)); printf("%sNative VA Space: %zu bytes %0.2fMB\n", preamble, va_bytes, va_bytes/(1024*1024.0)); fflush(stdout); - - close(smaps_fd); } |