std.event.Loop: fix race condition when starting the time wheel

closes #7572
This commit is contained in:
Andrew Kelley 2021-01-11 22:23:03 -07:00
parent 0edde40c25
commit 8ea2b40e5f

View File

@ -796,9 +796,10 @@ pub const Loop = struct {
.waiters = DelayQueue.Waiters{
.entries = std.atomic.Queue(anyframe).init(),
},
.thread = try std.Thread.spawn(self, DelayQueue.run),
.event = std.AutoResetEvent{},
.is_running = true,
// Must be last so that it can read the other state, such as `is_running`.
.thread = try std.Thread.spawn(self, DelayQueue.run),
};
}