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