From 3246150d4589a25cd1ad762a78d2806ef1da2a95 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Fri, 7 Feb 2025 01:21:09 -0800 Subject: [PATCH] std.heap.SmpAllocator: fix getCpuCount logic it was always returning max_cpu_count --- lib/std/heap/SmpAllocator.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/heap/SmpAllocator.zig b/lib/std/heap/SmpAllocator.zig index 0c2dc4348d..9dce341260 100644 --- 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; }