From 3375a580be51210115d43b9b76ecf8beef0d46dd Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Sun, 13 Dec 2020 19:28:38 +0100 Subject: [PATCH] std: Update more siginfo bits for BSDs --- lib/std/os/bits/netbsd.zig | 4 ++++ lib/std/os/bits/openbsd.zig | 18 ++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/lib/std/os/bits/netbsd.zig b/lib/std/os/bits/netbsd.zig index 316bf3cda2..be25284b73 100644 --- a/lib/std/os/bits/netbsd.zig +++ b/lib/std/os/bits/netbsd.zig @@ -805,6 +805,10 @@ pub const sigset_t = extern struct { __bits: [_SIG_WORDS]u32, }; +pub const SIG_ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize)); +pub const SIG_DFL = @intToPtr(?Sigaction.sigaction_fn, 0); +pub const SIG_IGN = @intToPtr(?Sigaction.sigaction_fn, 1); + pub const empty_sigset = sigset_t{ .__bits = [_]u32{0} ** _SIG_WORDS }; // XXX x86_64 specific diff --git a/lib/std/os/bits/openbsd.zig b/lib/std/os/bits/openbsd.zig index 8b28c0bffd..9e7b8aa399 100644 --- a/lib/std/os/bits/openbsd.zig +++ b/lib/std/os/bits/openbsd.zig @@ -773,11 +773,6 @@ pub const sigval = extern union { }; pub const siginfo_t = extern union { - pad: [128]u8, - info: _ksiginfo, -}; - -pub const _ksiginfo = extern struct { signo: c_int, code: c_int, errno: c_int, @@ -794,11 +789,22 @@ pub const _ksiginfo = extern struct { addr: ?*c_void, trapno: c_int, }, + __pad: [128 - 3 * @sizeOf(c_int)]u8, } align(@sizeOf(usize)), }; +comptime { + std.debug.assert(@sizeOf(siginfo_t) == 128); +} + pub const sigset_t = c_uint; -pub const empty_sigset = sigset_t(0); +pub const empty_sigset: sigset_t = 0; + +pub const SIG_ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize)); +pub const SIG_DFL = @intToPtr(?Sigaction.sigaction_fn, 0); +pub const SIG_IGN = @intToPtr(?Sigaction.sigaction_fn, 1); +pub const SIG_CATCH = @intToPtr(?Sigaction.sigaction_fn, 2); +pub const SIG_HOLD = @intToPtr(?Sigaction.sigaction_fn, 3); pub const EPERM = 1; // Operation not permitted pub const ENOENT = 2; // No such file or directory