authorgravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-10-04 13:14:57+02:00
committergravatar for joran@ronomon.comJoran Dirk Greef <joran@ronomon.com> 2020-10-04 13:14:57+02:00
log3d2de6cfbacb139ee101202e786b9355be92f960
treeaa8dfe711f012ee5b55d2547cc6ca62dac9c6a0e
parent69a55fc560dab477222f2ad104050b443647faa5

Use load relaxed semantics when reading the SQPOLL wakeup flag


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

lib/std/os/linux/io_uring.zig+1-1
......@@ -241,7 +241,7 @@ pub const IO_Uring = struct {
241241 pub fn sq_ring_needs_enter(self: *IO_Uring, submitted: u32, flags: *u32) bool {
242242 assert(flags.* == 0);
243243 if ((self.flags & linux.IORING_SETUP_SQPOLL) == 0 and submitted > 0) return true;
244 if ((@atomicLoad(u32, self.sq.flags, .Acquire) & linux.IORING_SQ_NEED_WAKEUP) != 0) {
244 if ((@atomicLoad(u32, self.sq.flags, .Unordered) & linux.IORING_SQ_NEED_WAKEUP) != 0) {
245245 flags.* |= linux.IORING_ENTER_SQ_WAKEUP;
246246 return true;
247247 }