fn timedOut(context: ?*anyopaque) callconv(.c) void
context: ?*anyopaque
1550 1551 1552 1553 1554 1555 1556 1557
fn timedOut(context: ?*anyopaque) callconv(.c) void { const waiter: *Waiter = @ptrCast(@alignCast(context)); const futex = waiter.futex; waiter.tryRemove() catch |err| switch (err) { error.CancelRequested => return, }; assert(@atomicRmw(usize, &futex.num_waiters, .Sub, 1, .monotonic) >= 1); }