Skip to content

Commit a76851b

Browse files
committed
std.c: Also make Sigaction flags a c_uint for serenity
This matches all other platforms. Even if this field is defined as 'int' in the C definition, the expectation is that the full 32-bit unsigned integer range can be used. In particular this Sigaction initializer in the new std.debug code was causing a build failure: ```zig .flags = (posix.SA.SIGINFO | posix.SA.RESTART | posix.SA.RESETHAND) ```
1 parent 701a6f3 commit a76851b

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

lib/std/c.zig

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3355,15 +3355,15 @@ pub const Sigaction = switch (native_os) {
33553355
},
33563356
// https://github.com/SerenityOS/serenity/blob/ec492a1a0819e6239ea44156825c4ee7234ca3db/Kernel/API/POSIX/signal.h#L39-L46
33573357
.serenity => extern struct {
3358-
pub const handler_fn = *align(1) const fn (c_int) callconv(.c) void;
3359-
pub const sigaction_fn = *const fn (c_int, *const siginfo_t, ?*anyopaque) callconv(.c) void;
3358+
pub const handler_fn = *align(1) const fn (i32) callconv(.c) void;
3359+
pub const sigaction_fn = *const fn (i32, *const siginfo_t, ?*anyopaque) callconv(.c) void;
33603360

33613361
handler: extern union {
33623362
handler: ?handler_fn,
33633363
sigaction: ?sigaction_fn,
33643364
},
33653365
mask: sigset_t,
3366-
flags: c_int,
3366+
flags: c_uint,
33673367
},
33683368
else => void,
33693369
};

0 commit comments

Comments
 (0)