Module: wine Branch: master Commit: e41135a4a532524684a6c85141ac2c08d7fe17a5 URL: https://gitlab.winehq.org/wine/wine/-/commit/e41135a4a532524684a6c85141ac2c0...
Author: Paul Gofman pgofman@codeweavers.com Date: Sun Jan 22 17:36:44 2023 -0600
ntdll: Use MemAvailable field for free RAM estimation if available.
---
dlls/ntdll/unix/system.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index b9762fd278f..33e93bbdf32 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -1885,7 +1885,7 @@ static void get_performance_info( SYSTEM_PERFORMANCE_INFORMATION *info )
if ((fp = fopen("/proc/meminfo", "r"))) { - unsigned long long value; + unsigned long long value, mem_available = 0; char line[64];
while (fgets(line, sizeof(line), fp)) @@ -1902,8 +1902,11 @@ static void get_performance_info( SYSTEM_PERFORMANCE_INFORMATION *info ) freeram += value * 1024; else if (sscanf(line, "Cached: %llu", &value)) freeram += value * 1024; + else if (sscanf(line, "MemAvailable: %llu", &value)) + mem_available = value * 1024; } fclose(fp); + if (mem_available) freeram = mem_available; } } #elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || \