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/ › posix.zig › raise
raise
posix.raise
pub fn raise (sig : SIG ) RaiseError !void
File
Code
pub fn raise (sig : SIG ) RaiseError !void {
if (builtin .link_libc ) {
switch (errno (system .raise (sig ))) {
.SUCCESS => return ,
else => |err | return unexpectedErrno (err ),
}
}
if (native_os == .linux ) {
// cannot trigger an extra, unexpected, inter-process signal. Signal paranoia inherited from Musl.
const filled = linux .sigfillset ();
var orig : sigset_t = undefined ;
sigprocmask (SIG .BLOCK , &filled , &orig );
const rc = linux .tkill (linux .gettid (), sig );
sigprocmask (SIG .SETMASK , &orig , null );
switch (errno (rc )) {
.SUCCESS => return ,
else => |err | return unexpectedErrno (err ),
}
}
@compileError ("std.posix.raise unimplemented for this target" );
}