mirror of
https://github.com/ziglang/zig.git
synced 2026-02-21 16:54:52 +00:00
Merge pull request #12410 from ifreund/sig-err-dfl-ign-fix
std: fix definition of SIG_IGN, SIG_DFL, etc.
This commit is contained in:
commit
e67a43a673
@ -814,10 +814,10 @@ pub const sigset_t = u32;
|
||||
pub const empty_sigset: sigset_t = 0;
|
||||
|
||||
pub const SIG = struct {
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const HOLD = @intToPtr(?Sigaction.sigaction_fn, 5);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const HOLD = @intToPtr(?Sigaction.handler_fn, 5);
|
||||
|
||||
/// block specified signal set
|
||||
pub const _BLOCK = 1;
|
||||
|
||||
@ -609,9 +609,9 @@ pub const S = struct {
|
||||
pub const BADSIG = SIG.ERR;
|
||||
|
||||
pub const SIG = struct {
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
|
||||
pub const BLOCK = 1;
|
||||
pub const UNBLOCK = 2;
|
||||
|
||||
@ -670,9 +670,9 @@ pub const SIG = struct {
|
||||
pub const UNBLOCK = 2;
|
||||
pub const SETMASK = 3;
|
||||
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
|
||||
pub const WORDS = 4;
|
||||
pub const MAXSIG = 128;
|
||||
|
||||
@ -910,9 +910,9 @@ pub const winsize = extern struct {
|
||||
const NSIG = 32;
|
||||
|
||||
pub const SIG = struct {
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
|
||||
pub const WORDS = 4;
|
||||
pub const MAXSIG = 128;
|
||||
|
||||
@ -982,11 +982,11 @@ pub const winsize = extern struct {
|
||||
const NSIG = 33;
|
||||
|
||||
pub const SIG = struct {
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const CATCH = @intToPtr(?Sigaction.sigaction_fn, 2);
|
||||
pub const HOLD = @intToPtr(?Sigaction.sigaction_fn, 3);
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const CATCH = @intToPtr(?Sigaction.handler_fn, 2);
|
||||
pub const HOLD = @intToPtr(?Sigaction.handler_fn, 3);
|
||||
|
||||
pub const HUP = 1;
|
||||
pub const INT = 2;
|
||||
|
||||
@ -879,10 +879,10 @@ pub const winsize = extern struct {
|
||||
const NSIG = 75;
|
||||
|
||||
pub const SIG = struct {
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const HOLD = @intToPtr(?Sigaction.sigaction_fn, 2);
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
pub const HOLD = @intToPtr(?Sigaction.handler_fn, 2);
|
||||
|
||||
pub const WORDS = 4;
|
||||
pub const MAXSIG = 75;
|
||||
|
||||
@ -1787,7 +1787,7 @@ fn resetSegfaultHandler() void {
|
||||
return;
|
||||
}
|
||||
var act = os.Sigaction{
|
||||
.handler = .{ .sigaction = os.SIG.DFL },
|
||||
.handler = .{ .handler = os.SIG.DFL },
|
||||
.mask = os.empty_sigset,
|
||||
.flags = 0,
|
||||
};
|
||||
|
||||
@ -475,10 +475,9 @@ pub fn abort() noreturn {
|
||||
|
||||
// Install default handler so that the tkill below will terminate.
|
||||
const sigact = Sigaction{
|
||||
.handler = .{ .sigaction = SIG.DFL },
|
||||
.mask = undefined,
|
||||
.flags = undefined,
|
||||
.restorer = undefined,
|
||||
.handler = .{ .handler = SIG.DFL },
|
||||
.mask = empty_sigset,
|
||||
.flags = 0,
|
||||
};
|
||||
sigaction(SIG.ABRT, &sigact, null) catch |err| switch (err) {
|
||||
error.OperationNotSupported => unreachable,
|
||||
|
||||
@ -1945,9 +1945,9 @@ pub const SIG = if (is_mips) struct {
|
||||
pub const SYS = 31;
|
||||
pub const UNUSED = SIG.SYS;
|
||||
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
} else if (is_sparc) struct {
|
||||
pub const BLOCK = 1;
|
||||
pub const UNBLOCK = 2;
|
||||
@ -1989,9 +1989,9 @@ pub const SIG = if (is_mips) struct {
|
||||
pub const PWR = LOST;
|
||||
pub const IO = SIG.POLL;
|
||||
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
} else struct {
|
||||
pub const BLOCK = 0;
|
||||
pub const UNBLOCK = 1;
|
||||
@ -2032,9 +2032,9 @@ pub const SIG = if (is_mips) struct {
|
||||
pub const SYS = 31;
|
||||
pub const UNUSED = SIG.SYS;
|
||||
|
||||
pub const ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.sigaction_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.sigaction_fn, 1);
|
||||
pub const ERR = @intToPtr(?Sigaction.handler_fn, maxInt(usize));
|
||||
pub const DFL = @intToPtr(?Sigaction.handler_fn, 0);
|
||||
pub const IGN = @intToPtr(?Sigaction.handler_fn, 1);
|
||||
};
|
||||
|
||||
pub const kernel_rwf = u32;
|
||||
|
||||
@ -785,7 +785,7 @@ test "sigaction" {
|
||||
try testing.expect(signal_test_failed == false);
|
||||
// Check if the handler has been correctly reset to SIG_DFL
|
||||
try os.sigaction(os.SIG.USR1, null, &old_sa);
|
||||
try testing.expectEqual(os.SIG.DFL, old_sa.handler.sigaction);
|
||||
try testing.expectEqual(os.SIG.DFL, old_sa.handler.handler);
|
||||
}
|
||||
|
||||
test "dup & dup2" {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user