From 29bc6fc24288fe02b2a607f38dbdbb6f5d53ea38 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Fri, 21 Apr 2023 23:23:14 +0100 Subject: [PATCH] process: totalSystemMemory freebsd portage --- lib/std/process.zig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/std/process.zig b/lib/std/process.zig index c2d5b8a000..578efa62c4 100644 --- a/lib/std/process.zig +++ b/lib/std/process.zig @@ -1162,6 +1162,15 @@ pub fn totalSystemMemory() TotalSystemMemoryError!usize { .linux => { return totalSystemMemoryLinux() catch return error.UnknownTotalSystemMemory; }, + .freebsd => { + var physmem: c_ulong = undefined; + var len: usize = @sizeOf(c_ulong); + os.sysctlbynameZ("hw.physmem", &physmem, &len, null, 0) catch |err| switch (err) { + error.NameTooLong, error.UnknownName => unreachable, + else => |e| return e, + }; + return @intCast(usize, physmem); + }, .windows => { var sbi: std.os.windows.SYSTEM_BASIC_INFORMATION = undefined; const rc = std.os.windows.ntdll.NtQuerySystemInformation(