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 standard library.
std › Io › Uring › fileUnlock Private Function fileUnlock Doc Source Private Function std.Io.Uring.fileUnlock
fn fileUnlock (userdata : ?*anyopaque , file : File ) void Params userdata : ?*anyopaque file : File File Io/Uring.zig: 3959
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970 fn fileUnlock (userdata : ?*anyopaque , file : File ) void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var sync : CancelRegion .Sync = .initBlocked (ev );
defer sync .deinit (ev );
ev .flock (&sync , file .handle , .none , .blocking ) catch |err | switch (err ) {
error .Canceled => unreachable , // blocked
error .WouldBlock => unreachable , // blocking
error .SystemResources => return recoverableOsBugDetected (), // Resource deallocation.
error .FileLocksUnsupported => return recoverableOsBugDetected (), // We already got the lock.
error .Unexpected => return recoverableOsBugDetected (), // Resource deallocation must succeed.
};
}