authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-17 16:19:57-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-08-17 16:19:57-07:00
logae2c88754df436d4b1d748405e6ddd4b8ee61774
tree78be61006e5cf3e02ef8d00a366a51b6bd21ce95
parent293b07df12014cadf8b8b01b279856563523e257

std: signalfd: fix the types of things; add test


4 files changed, 10 insertions(+), 10 deletions(-)

lib/std/c/linux.zig+1-1
......@@ -93,7 +93,7 @@ pub extern "c" fn sendfile(
9393
9494pub extern "c" fn copy_file_range(fd_in: fd_t, off_in: ?*i64, fd_out: fd_t, off_out: ?*i64, len: usize, flags: c_uint) isize;
9595
96pub extern "c" fn signalfd(fd: fd_t, mask: *const sigset_t, flags: i32) usize;
96pub extern "c" fn signalfd(fd: fd_t, mask: *const sigset_t, flags: c_uint) c_int;
9797
9898pub const pthread_attr_t = extern struct {
9999 __size: [56]u8,
lib/std/os.zig+1-1
......@@ -5308,7 +5308,7 @@ pub fn ioctl_SIOCGIFINDEX(fd: fd_t, ifr: *ifreq) IoCtl_SIOCGIFINDEX_Error!void {
53085308 }
53095309}
53105310
5311pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: i32) !fd_t {
5311pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: u32) !fd_t {
53125312 const rc = system.signalfd(fd, mask, flags);
53135313 switch (errno(rc)) {
53145314 0 => return @intCast(fd_t, rc),
lib/std/os/linux.zig+2-8
......@@ -1200,14 +1200,8 @@ pub fn ioctl(fd: fd_t, request: u32, arg: usize) usize {
12001200 return syscall3(.ioctl, @bitCast(usize, @as(isize, fd)), request, arg);
12011201}
12021202
1203pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: i32) usize {
1204 return syscall4(
1205 .signalfd4,
1206 @bitCast(usize, @as(isize, fd)),
1207 @ptrToInt(mask),
1208 @bitCast(usize, @as(usize, NSIG / 8)),
1209 @intCast(usize, flags),
1210 );
1203pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: u32) usize {
1204 return syscall4(.signalfd4, @bitCast(usize, @as(isize, fd)), @ptrToInt(mask), NSIG / 8, flags);
12111205}
12121206
12131207pub fn copy_file_range(fd_in: fd_t, off_in: ?*i64, fd_out: fd_t, off_out: ?*i64, len: usize, flags: u32) usize {
lib/std/os/test.zig+6
......@@ -522,3 +522,9 @@ test "fcntl" {
522522 expect((flags & os.FD_CLOEXEC) != 0);
523523 }
524524}
525
526test "signalfd" {
527 if (builtin.os.tag != .linux)
528 return error.SkipZigTest;
529 _ = std.os.signalfd;
530}