From 26e0df0fa83122e0f3582728343008bfb0e455af Mon Sep 17 00:00:00 2001 From: sakura_pc Date: Thu, 15 Jun 2023 10:38:36 +0800 Subject: [PATCH] Rectification of encoding specification for libmeminfo Signed-off-by: sakura_pc Signed-off-by: sakura_pc --- libmeminfo/src/meminfo.cpp | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/libmeminfo/src/meminfo.cpp b/libmeminfo/src/meminfo.cpp index 9bdd398..d790514 100644 --- a/libmeminfo/src/meminfo.cpp +++ b/libmeminfo/src/meminfo.cpp @@ -120,22 +120,23 @@ bool GetGraphicsMemory(const int pid, uint64_t &gl, uint64_t &graph) for (const auto &memTrackerType : MEMORY_TRACKER_TYPES) { std::vector records; - if (memtrack->GetDevMem(pid, memTrackerType.first, records) == HDF_SUCCESS) { - uint64_t value = 0; - for (const auto &record : records) { - if ((static_cast(record.flags) & FLAG_UNMAPPED) == FLAG_UNMAPPED) { - value = static_cast(record.size / BYTE_PER_KB); - break; - } - } - if (memTrackerType.first == MEMORY_TRACKER_TYPE_GL) { - gl = value; - ret = true; - } else if (memTrackerType.first == MEMORY_TRACKER_TYPE_GRAPH) { - graph = value; - ret = true; + if (memtrack->GetDevMem(pid, memTrackerType.first, records) != HDF_SUCCESS) { + continue; + } + uint64_t value = 0; + for (const auto &record : records) { + if ((static_cast(record.flags) & FLAG_UNMAPPED) == FLAG_UNMAPPED) { + value = static_cast(record.size / BYTE_PER_KB); + break; } } + if (memTrackerType.first == MEMORY_TRACKER_TYPE_GL) { + gl = value; + ret = true; + } else if (memTrackerType.first == MEMORY_TRACKER_TYPE_GRAPH) { + graph = value; + ret = true; + } } return ret; } -- Gitee