pidfd_linux.mx raw
1 // Copyright 2023 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package unix
6
7 import "syscall"
8
9 func PidFDSendSignal(pidfd uintptr, s syscall.Signal) error {
10 _, _, errno := syscall.Syscall(pidfdSendSignalTrap, pidfd, uintptr(s), 0)
11 if errno != 0 {
12 return errno
13 }
14 return nil
15 }
16
17 func PidFDOpen(pid, flags int) (uintptr, error) {
18 pidfd, _, errno := syscall.Syscall(pidfdOpenTrap, uintptr(pid), uintptr(flags), 0)
19 if errno != 0 {
20 return ^uintptr(0), errno
21 }
22 return uintptr(pidfd), nil
23 }
24