From a979705a0aded35cb8e947f101547a53551115eb Mon Sep 17 00:00:00 2001 From: Sven Marcus <s.marcus@outlook.de> Date: Fri, 25 Sep 2020 11:15:13 +0200 Subject: [PATCH] MemoryUtil can determine total physical memory on macOS --- src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h index f94757aa7..b1dd85885 100644 --- a/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h +++ b/src/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h @@ -42,8 +42,13 @@ namespace Utilities long long totalPhysMem = memInfo.totalram; //Multiply in next statement to avoid int overflow on right hand side... totalPhysMem *= memInfo.mem_unit; - #elif defined(MEMORYUTIL_APPLE) - long long totalPhysMem = 0; + #elif defined(MEMORYUTIL_APPLE) + int mib [] = { CTL_HW, HW_MEMSIZE }; + int64_t totalPhysMem; + size_t length = sizeof(totalPhysMem); + + if(sysctl(mib, 2, &totalPhysMem, &length, nullptr, 0) == -1) + return 0; #else #error "MemoryUtil::getTotalPhysMem - UnknownMachine" #endif -- GitLab