fn changeAwaiting( cancel_status: *CancelStatus, old_awaiting: Awaiting, new_awaiting: Awaiting, ) bool
cancel_status: *CancelStatus
old_awaiting: Awaiting
new_awaiting: Awaiting
199 200 201 202 203 204 205 206 207 208 209 210
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), }, .monotonic); assert(old_cancel_status.awaiting == old_awaiting); return old_cancel_status.requested; }