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 › fileTryLock Private Function fileTryLock Doc Source Private Function std.Io.Uring.fileTryLock
fn fileTryLock (userdata : ?*anyopaque , file : File , lock : File .Lock ) File .LockError !bool Params userdata : ?*anyopaque file : File lock : File .Lock File Io/Uring.zig: 3945
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957 fn fileTryLock (userdata : ?*anyopaque , file : File , lock : File .Lock ) File .LockError !bool {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
var sync : CancelRegion .Sync = try .init (ev );
defer sync .deinit (ev );
ev .flock (&sync , file .handle , lock , switch (lock ) {
.none => .blocking ,
.shared , .exclusive => .nonblocking ,
}) catch |err | switch (err ) {
error .WouldBlock => return false ,
else => |e | return e ,
};
return true ;
}