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