pub fn putUncancelable(q: *TypeErasedQueue, io: Io, elements: []const u8, min: usize) QueueClosedError!usize
Same as put, except does not introduce a cancelation point.
put
For a description of cancelation and cancelation points, see Future.cancel.
Future.cancel
q: *TypeErasedQueue
io: Io
elements: []const u8
min: usize
Closed
2143 2144 2145 2146 2147 2148 2149 2150 2151 2152
pub fn putUncancelable(q: *TypeErasedQueue, io: Io, elements: []const u8, min: usize) QueueClosedError!usize { assert(elements.len >= min); if (elements.len == 0) return 0; q.mutex.lockUncancelable(io); defer q.mutex.unlock(io); return q.putLocked(io, elements, min, true) catch |err| switch (err) { error.Canceled => unreachable, error.Closed => |e| return e, }; }
Same as
put, except does not introduce a cancelation point.For a description of cancelation and cancelation points, see
Future.cancel.