authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-01-14 21:34:30-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-01-14 21:34:30-07:00
log9e1aeda3bf6e379ef8572d92eca1644175ef69f5
tree91d45eb4b12ce9d22ce71dffb7997034943cb9d2
parent9698ea3173351a66de8950c5124f22e80f6c9fc8

std.Thread.StaticResetEvent: call spinLoopHint appropriately


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

lib/std/Thread/StaticResetEvent.zig+2-3
......@@ -15,7 +15,6 @@
1515
1616const std = @import("../std.zig");
1717const StaticResetEvent = @This();
18const SpinLock = std.SpinLock;
1918const assert = std.debug.assert;
2019const os = std.os;
2120const time = std.time;
......@@ -183,7 +182,7 @@ pub const AtomicEvent = struct {
183182 timer = time.Timer.start() catch return error.TimedOut;
184183
185184 while (@atomicLoad(u32, waiters, .Acquire) != WAKE) {
186 SpinLock.yield();
185 std.os.sched_yield() catch std.Thread.spinLoopHint();
187186 if (timeout) |timeout_ns| {
188187 if (timer.read() >= timeout_ns)
189188 return error.TimedOut;
......@@ -294,7 +293,7 @@ pub const AtomicEvent = struct {
294293 return @intToPtr(?windows.HANDLE, handle);
295294 },
296295 LOADING => {
297 SpinLock.yield();
296 std.os.sched_yield() catch std.Thread.spinLoopHint();
298297 handle = @atomicLoad(usize, &event_handle, .Monotonic);
299298 },
300299 else => {