diff options
| author | Loris Cro <kappaloris@gmail.com> | 2023-04-22 19:10:23 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-22 19:10:23 +0200 |
| commit | c5fb245f60039565f7a5a4de412da815f037ab15 (patch) | |
| tree | 0a473e618a9982cd9a0209bc053028eef8497cce /lib/std/process.zig | |
| parent | 428f7452704d1a7b3d9da8e7d4d408db4cbff81f (diff) | |
| parent | ad634bca9f12a9de641270478a6abf9495b9846f (diff) | |
| download | zig-c5fb245f60039565f7a5a4de412da815f037ab15.tar.gz zig-c5fb245f60039565f7a5a4de412da815f037ab15.zip | |
Merge branch 'master' into autodoc-src-files-dirs
Diffstat (limited to 'lib/std/process.zig')
| -rw-r--r-- | lib/std/process.zig | 9 |
1 files changed, 9 insertions, 0 deletions
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( |
