authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-02-07 01:21:09-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-02-07 14:41:49-08:00
log3246150d4589a25cd1ad762a78d2806ef1da2a95
treea8ebf03c19d18fcda611ef7dc4cea5b33dd0a3ac
parent88e2e60e88ebaeb46b2642830cd8cd369dc737c0

std.heap.SmpAllocator: fix getCpuCount logic

it was always returning max_cpu_count

1 files changed, 1 insertions(+), 1 deletions(-)

lib/std/heap/SmpAllocator.zig+1-1
...@@ -97,7 +97,7 @@ const Thread = struct {...@@ -97,7 +97,7 @@ const Thread = struct {
97fn getCpuCount() u32 {97fn getCpuCount() u32 {
98 const cpu_count = @atomicLoad(u32, &global.cpu_count, .unordered);98 const cpu_count = @atomicLoad(u32, &global.cpu_count, .unordered);
99 if (cpu_count != 0) return cpu_count;99 if (cpu_count != 0) return cpu_count;
100 const n: u32 = @intCast(@max(std.Thread.getCpuCount() catch max_thread_count, max_thread_count));100 const n: u32 = @min(std.Thread.getCpuCount() catch max_thread_count, max_thread_count);
101 return if (@cmpxchgStrong(u32, &global.cpu_count, 0, n, .monotonic, .monotonic)) |other| other else n;101 return if (@cmpxchgStrong(u32, &global.cpu_count, 0, n, .monotonic, .monotonic)) |other| other else n;
102}102}
103103