Commit 3246150d45

Andrew Kelley <andrew@ziglang.org>
2025-02-07 10:21:09
std.heap.SmpAllocator: fix getCpuCount logic
it was always returning max_cpu_count
1 parent 88e2e60
Changed files (1)
lib
lib/std/heap/SmpAllocator.zig
@@ -97,7 +97,7 @@ const Thread = struct {
 fn getCpuCount() u32 {
     const cpu_count = @atomicLoad(u32, &global.cpu_count, .unordered);
     if (cpu_count != 0) return cpu_count;
-    const n: u32 = @intCast(@max(std.Thread.getCpuCount() catch max_thread_count, max_thread_count));
+    const n: u32 = @min(std.Thread.getCpuCount() catch max_thread_count, max_thread_count);
     return if (@cmpxchgStrong(u32, &global.cpu_count, 0, n, .monotonic, .monotonic)) |other| other else n;
 }