commit 3246150d4589a25cd1ad762a78d2806ef1da2a95 (tree)
parent 88e2e60e88ebaeb46b2642830cd8cd369dc737c0
Author: Andrew Kelley <andrew@ziglang.org>
Date: Fri, 7 Feb 2025 01:21:09 -0800
std.heap.SmpAllocator: fix getCpuCount logic
it was always returning max_cpu_count
Diffstat:
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/std/heap/SmpAllocator.zig b/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;
}