fn swapCancelProtection(userdata: ?*anyopaque, new: Io.CancelProtection) Io.CancelProtection
fn swapCancelProtection(userdata: ?*anyopaque, new: Io.CancelProtection) Io.CancelProtection { const ev: *Evented = @ptrCast(@alignCast(userdata)); _ = ev; const cancel_protection = &Thread.current().currentFiber().cancel_protection; defer cancel_protection.user = new; return cancel_protection.user; }