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.
Zig › std/ › Io/ › Dispatch.zig › childKill
childKill
Dispatch.childKill
fn childKill (userdata : ?*anyopaque , child : *process .Child ) void
File
Code
fn childKill (userdata : ?*anyopaque , child : *process .Child ) void {
const ev : *Evented = @ptrCast (@alignCast (userdata ));
defer ev .childCleanup (child );
const pid = child .id .?;
while (true ) switch (c .errno (c .kill (pid , .TERM ))) {
.SUCCESS => break ,
.INTR => {},
.PERM => return ,
.INVAL => |err | errnoBug (err ) catch return ,
.SRCH => |err | errnoBug (err ) catch return ,
else => |err | unexpectedErrno (err ) catch return ,
};
var status : c_int = undefined ;
while (true ) switch (c .errno (c .wait4 (pid , &status , 0 , null ))) {
.SUCCESS => return ,
.INTR => {},
.CHILD => |err | errnoBug (err ) catch return ,
else => |err | unexpectedErrno (err ) catch return ,
};
}