src.elv.sh@v0.21.0-dev.0.20240515223629-06979efb9a2a/pkg/shell/signal_unix.go (about)

     1  //go:build unix
     2  
     3  package shell
     4  
     5  import (
     6  	"fmt"
     7  	"io"
     8  	"os"
     9  	"syscall"
    10  
    11  	"src.elv.sh/pkg/sys"
    12  )
    13  
    14  func handleSignal(sig os.Signal, stderr io.Writer) {
    15  	switch sig {
    16  	case syscall.SIGHUP:
    17  		syscall.Kill(0, syscall.SIGHUP)
    18  		os.Exit(0)
    19  	case syscall.SIGUSR1:
    20  		fmt.Fprint(stderr, sys.DumpStack())
    21  	}
    22  }