fn enterCancelRegion(fiber: *Fiber, thread: *Thread) error
fiber: *Fiber
thread: *Thread
124 125 126 127 128 129 130 131 132 133 134 135 136
fn enterCancelRegion(fiber: *Fiber, thread: *Thread) error{Canceled}!void { if (@cmpxchgStrong( ?*Thread, &fiber.cancel_thread, null, thread, .acq_rel, .acquire, )) |cancel_thread| { assert(cancel_thread == Thread.canceling); return error.Canceled; } }