aboutsummaryrefslogtreecommitdiff
path: root/lib/std/process.zig
diff options
context:
space:
mode:
authorLoris Cro <kappaloris@gmail.com>2023-04-22 19:10:23 +0200
committerGitHub <noreply@github.com>2023-04-22 19:10:23 +0200
commitc5fb245f60039565f7a5a4de412da815f037ab15 (patch)
tree0a473e618a9982cd9a0209bc053028eef8497cce /lib/std/process.zig
parent428f7452704d1a7b3d9da8e7d4d408db4cbff81f (diff)
parentad634bca9f12a9de641270478a6abf9495b9846f (diff)
downloadzig-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.zig9
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(