authorgravatar for mlugg@mlugg.co.ukMatthew Lugg <mlugg@mlugg.co.uk> 2026-01-21 13:52:14+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-21 16:41:55+01:00
log35a191ec1ca8b39ce6b9460e00a5efaf56851345
tree3ff93603fe415c8899cacf894c6ec228a0a810ac
parenta3ea3bd31dc0b8c6ff98c9bc95ffcd36bd8aba82
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Io.Threaded: fix futex timeout race handling


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

lib/std/Io/Threaded.zig+1-1
......@@ -15791,7 +15791,7 @@ const parking_futex = struct {
1579115791 );
1579215792 switch (old_status.cancelation) {
1579315793 .parked => {}, // state updated to `.none`
15794 .none => unreachable, // if another `wake` call is unparking this thread, it should have removed it from the list
15794 .none => continue, // race with timeout; they are about to lock `bucket.mutex` and remove themselves from the bucket
1579515795 .canceling => continue, // race with a canceler who hasn't called `removeCanceledWaiter` yet
1579615796 .canceled => unreachable,
1579715797 .blocked => unreachable,