Zig 0.17.0-dev (Split by item)

This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.

wait

Blocks until a permit is available and consumes a single one. Unblocks without consuming a permit when canceled.

See also:

Semaphore.wait
pub fn wait(s: *Semaphore, io: Io) Io.Cancelable!void

File

lib/std/Io/Semaphore.zig:24

Code

pub fn wait(s: *Semaphore, io: Io) Io.Cancelable!void {
    s.waitTimeout(io, .none) catch |err| switch (err) {
        error.Timeout => unreachable,
        error.Canceled => |e| return e,
    };
}