INNER CODE UNIT · Go
catchCtrlC
corneliusweig/rakkess · cmd/signals.go:26
func catchCtrlC(cancel context.CancelFunc) {
catchSigs(cancel, syscall.SIGINT, syscall.SIGPIPE, syscall.SIGTERM)
}
func catchSigs(cancel context.CancelFunc, sigs ...os.Signal) {
sigChan := make(chan os.Signal, 1)
signal.Notify(sigChan, sigs...)
go func() {
<-sigChan
cancel()
}()
}