fn changeAwaiting( cancel_status: *CancelStatus, old_awaiting: Awaiting, new_awaiting: Awaiting, ) bool
cancel_status: *CancelStatus
old_awaiting: Awaiting
new_awaiting: Awaiting
139 140 141 142 143 144 145 146 147 148 149 150
fn changeAwaiting( cancel_status: *CancelStatus, old_awaiting: Awaiting, new_awaiting: Awaiting, ) bool { const old_cancel_status = @atomicRmw(CancelStatus, cancel_status, .Add, .{ .requested = false, .awaiting = new_awaiting.subWrap(old_awaiting), }, .release); assert(old_cancel_status.awaiting == old_awaiting); return old_cancel_status.requested; }