Source file src/internal/syscall/unix/pidfd_linux.go

     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  

View as plain text