github.com/kastenhq/syft@v0.0.0-20230821225854-0710af25cdbe/cmd/syft/cli/eventloop/signals.go (about)

     1  package eventloop
     2  
     3  import (
     4  	"os"
     5  	"os/signal"
     6  	"syscall"
     7  )
     8  
     9  func SetupSignals() <-chan os.Signal {
    10  	c := make(chan os.Signal, 1) // Note: A buffered channel is recommended for this; see https://golang.org/pkg/os/signal/#Notify
    11  
    12  	interruptions := []os.Signal{
    13  		syscall.SIGINT,
    14  		syscall.SIGTERM,
    15  	}
    16  
    17  	signal.Notify(c, interruptions...)
    18  
    19  	return c
    20  }