| author | |
| committer | |
| log | 044e3ca59222f26ae0a63be24510007c3e2cda82 |
| tree | 78be61006e5cf3e02ef8d00a366a51b6bd21ce95 |
| parent | 96a27557e2ef53b8d1d3132f02c83b716c966277 |
| parent | ae2c88754df436d4b1d748405e6ddd4b8ee61774 |
closes #60714 files changed, 12 insertions(+), 10 deletions(-)
lib/std/c/linux.zig+2| ... | ... | @@ -93,6 +93,8 @@ pub extern "c" fn sendfile( |
| 93 | 93 | |
| 94 | 94 | pub 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; |
| 95 | 95 | |
| 96 | pub extern "c" fn signalfd(fd: fd_t, mask: *const sigset_t, flags: c_uint) c_int; | |
| 97 | ||
| 96 | 98 | pub const pthread_attr_t = extern struct { |
| 97 | 99 | __size: [56]u8, |
| 98 | 100 | __align: c_long, |
lib/std/os.zig+2-2| ... | ... | @@ -5308,8 +5308,8 @@ pub fn ioctl_SIOCGIFINDEX(fd: fd_t, ifr: *ifreq) IoCtl_SIOCGIFINDEX_Error!void { |
| 5308 | 5308 | } |
| 5309 | 5309 | } |
| 5310 | 5310 | |
| 5311 | pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: i32) !fd_t { | |
| 5312 | const rc = system.signalfd4(fd, mask, flags); | |
| 5311 | pub fn signalfd(fd: fd_t, mask: *const sigset_t, flags: u32) !fd_t { | |
| 5312 | const rc = system.signalfd(fd, mask, flags); | |
| 5313 | 5313 | switch (errno(rc)) { |
| 5314 | 5314 | 0 => return @intCast(fd_t, rc), |
| 5315 | 5315 | EBADF, EINVAL => unreachable, |
lib/std/os/linux.zig+2-8| ... | ... | @@ -1200,14 +1200,8 @@ pub fn ioctl(fd: fd_t, request: u32, arg: usize) usize { |
| 1200 | 1200 | return syscall3(.ioctl, @bitCast(usize, @as(isize, fd)), request, arg); |
| 1201 | 1201 | } |
| 1202 | 1202 | |
| 1203 | pub fn signalfd4(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 | ); | |
| 1203 | pub 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); | |
| 1211 | 1205 | } |
| 1212 | 1206 | |
| 1213 | 1207 | pub 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" { |
| 522 | 522 | expect((flags & os.FD_CLOEXEC) != 0); |
| 523 | 523 | } |
| 524 | 524 | } |
| 525 | ||
| 526 | test "signalfd" { | |
| 527 | if (builtin.os.tag != .linux) | |
| 528 | return error.SkipZigTest; | |
| 529 | _ = std.os.signalfd; | |
| 530 | } |