fn checkCancel(userdata: ?*anyopaque) Io.Cancelable!void
fn checkCancel(userdata: ?*anyopaque) Io.Cancelable!void { const ev: *Evented = @ptrCast(@alignCast(userdata)); _ = ev; const fiber = Thread.current().currentFiber(); switch (fiber.cancel_protection.check()) { .unblocked => { const cancel_status = @atomicLoad(Fiber.CancelStatus, &fiber.cancel_status, .monotonic); assert(cancel_status.awaiting == .nothing); if (cancel_status.requested) { @branchHint(.unlikely); fiber.cancel_protection.acknowledge(); return error.Canceled; } }, .blocked => {}, } }