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 › posix › poll Public Function poll Doc Source Public Function std.posix.poll
pub fn poll (fds : []pollfd , timeout : i32 ) PollError !usize Params File posix.zig: 1003
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020 pub fn poll (fds : []pollfd , timeout : i32 ) PollError !usize {
if (native_os == .windows ) {
@compileError ("use std.Io instead" );
}
while (true ) {
const fds_count = cast (nfds_t , fds .len ) orelse return error .SystemResources ;
const rc = system .poll (fds .ptr , fds_count , timeout );
switch (errno (rc )) {
.SUCCESS => return @intCast (rc ),
.FAULT => unreachable ,
.INTR => continue ,
.INVAL => unreachable ,
.NOMEM => return error .SystemResources ,
else => |err | return unexpectedErrno (err ),
}
}
unreachable ;
}