| ... | @@ -247,7 +247,7 @@ pub const IO_Uring = struct { | ... | @@ -247,7 +247,7 @@ pub const IO_Uring = struct { |
| 247 | pub fn sq_ring_needs_enter(self: *IO_Uring, submitted: u32, flags: *u32) bool { | 247 | pub fn sq_ring_needs_enter(self: *IO_Uring, submitted: u32, flags: *u32) bool { |
| 248 | assert(flags.* == 0); | 248 | assert(flags.* == 0); |
| 249 | if ((self.flags & linux.IORING_SETUP_SQPOLL) == 0 and submitted > 0) return true; | 249 | if ((self.flags & linux.IORING_SETUP_SQPOLL) == 0 and submitted > 0) return true; |
| 250 | if ((@atomicLoad(u32, self.sq.flags, .Unordered) & linux.IORING_SQ_NEED_WAKEUP) != 0) { | 250 | if ((@atomicLoad(u32, self.sq.flags, .Acquire) & linux.IORING_SQ_NEED_WAKEUP) != 0) { |
| 251 | flags.* |= linux.IORING_ENTER_SQ_WAKEUP; | 251 | flags.* |= linux.IORING_ENTER_SQ_WAKEUP; |
| 252 | return true; | 252 | return true; |
| 253 | } | 253 | } |