pub fn waitUncancelable(s: *Semaphore, io: Io) void
Blocks until a permit is available and consumes a single one.
permit
See also:
wait
waitTimeout
s: *Semaphore
io: Io
52 53 54 55 56 57 58
pub fn waitUncancelable(s: *Semaphore, io: Io) void { s.mutex.lockUncancelable(io); defer s.mutex.unlock(io); while (s.permits == 0) s.cond.waitUncancelable(io, &s.mutex); s.permits -= 1; if (s.permits > 0) s.cond.signal(io); }
Blocks until a
permitis available and consumes a single one.See also:
waitwaitTimeout