github.com/markusbkk/elvish@v0.0.0-20231204143114-91dc52438621/pkg/shell/signal_unix.go (about)

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