gitlab.com/Raven-IO/raven-delve@v1.22.4/pkg/proc/gdbserial/gdbserver_unix.go (about)

     1  //go:build linux || darwin || freebsd
     2  
     3  package gdbserial
     4  
     5  import (
     6  	"os/signal"
     7  	"syscall"
     8  
     9  	"golang.org/x/sys/unix"
    10  )
    11  
    12  func sysProcAttr(foreground bool) *syscall.SysProcAttr {
    13  	return &syscall.SysProcAttr{Setpgid: true, Pgid: 0, Foreground: foreground}
    14  }
    15  
    16  func foregroundSignalsIgnore() {
    17  	signal.Ignore(syscall.SIGTTOU, syscall.SIGTTIN)
    18  }
    19  
    20  func tcsetpgrp(fd uintptr, pid int) error {
    21  	pgid, _ := syscall.Getpgid(pid)
    22  	if pid == pgid {
    23  		return unix.IoctlSetPointerInt(int(fd), unix.TIOCSPGRP, pid)
    24  	}
    25  	return nil
    26  }