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.

pthread_spin_trylock

pthread.pthread_spin_trylock
fn pthread_spin_trylock(s: *c.pthread_spinlock_t) callconv(.c) c_int

File

lib/c/pthread.zig:36

Code

fn pthread_spin_trylock(s: *c.pthread_spinlock_t) callconv(.c) c_int {
    const spin: *SpinLock = @ptrCast(s);
    return if (@cmpxchgStrong(SpinLock, spin, .unlocked, .locked, .acquire, .monotonic)) |_| @backingInt(c.E.BUSY) else 0;
}