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_unlock

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

File

lib/c/pthread.zig:51

Code

fn pthread_spin_unlock(s: *c.pthread_spinlock_t) callconv(.c) c_int {
    const spin: *SpinLock = @ptrCast(s);

    // "The results are undefined if the lock is not held by the calling thread"
    std.debug.assert(@atomicRmw(SpinLock, spin, .Xchg, .unlocked, .release) == .locked);
    return 0;
}