authorgravatar for devnexen@gmail.comDavid Carlier <devnexen@gmail.com> 2023-04-22 13:47:01+01:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-04-24 05:49:48+03:00
log5c70d7bc723a8e0e47018d3606285005c280ddb8
tree6a435611036819d3d8a56929f35cbd533118c643
parentc66151a22619b4f3ce028076c67f495ff5f99d2c

std.process: further totalSystemMemory portage


1 files changed, 8 insertions(+), 3 deletions(-)

lib/std/process.zig+8-3
......@@ -1163,12 +1163,17 @@ pub fn totalSystemMemory() TotalSystemMemoryError!usize {
11631163 .linux => {
11641164 return totalSystemMemoryLinux() catch return error.UnknownTotalSystemMemory;
11651165 },
1166 .freebsd => {
1166 .freebsd, .netbsd, .openbsd, .dragonfly, .macos => {
11671167 var physmem: c_ulong = undefined;
11681168 var len: usize = @sizeOf(c_ulong);
1169 os.sysctlbynameZ("hw.physmem", &physmem, &len, null, 0) catch |err| switch (err) {
1169 const name = switch (builtin.os.tag) {
1170 .macos => "hw.memsize",
1171 .netbsd => "hw.physmem64",
1172 else => "hw.physmem",
1173 };
1174 os.sysctlbynameZ(name, &physmem, &len, null, 0) catch |err| switch (err) {
11701175 error.NameTooLong, error.UnknownName => unreachable,
1171 else => |e| return e,
1176 else => return error.UnknownTotalSystemMemory,
11721177 };
11731178 return @intCast(usize, physmem);
11741179 },