| ... | @@ -1387,6 +1387,29 @@ pub fn madvise(address: [*]u8, len: usize, advice: u32) usize { | ... | @@ -1387,6 +1387,29 @@ pub fn madvise(address: [*]u8, len: usize, advice: u32) usize { |
| 1387 | return syscall3(.madvise, @ptrToInt(address), len, advice); | 1387 | return syscall3(.madvise, @ptrToInt(address), len, advice); |
| 1388 | } | 1388 | } |
| 1389 | | 1389 | |
| | 1390 | pub fn pidfd_open(pid: pid_t, flags: u32) usize { |
| | 1391 | return syscall2(.pidfd_open, @bitCast(usize, @as(isize, pid)), flags); |
| | 1392 | } |
| | 1393 | |
| | 1394 | pub fn pidfd_getfd(pidfd: fd_t, targetfd: fd_t, flags: u32) usize { |
| | 1395 | return syscall3( |
| | 1396 | .pidfd_getfd, |
| | 1397 | @bitCast(usize, @as(isize, pidfd)), |
| | 1398 | @bitCast(usize, @as(isize, targetfd)), |
| | 1399 | flags, |
| | 1400 | ); |
| | 1401 | } |
| | 1402 | |
| | 1403 | pub fn pidfd_send_signal(pidfd: fd_t, sig: i32, info: ?*siginfo_t, flags: u32) usize { |
| | 1404 | return syscall4( |
| | 1405 | .pidfd_send_signal, |
| | 1406 | @bitCast(usize, @as(isize, pidfd)), |
| | 1407 | @bitCast(usize, @as(isize, sig)), |
| | 1408 | @ptrToInt(info), |
| | 1409 | flags, |
| | 1410 | ); |
| | 1411 | } |
| | 1412 | |
| 1390 | test { | 1413 | test { |
| 1391 | if (builtin.os.tag == .linux) { | 1414 | if (builtin.os.tag == .linux) { |
| 1392 | _ = @import("linux/test.zig"); | 1415 | _ = @import("linux/test.zig"); |