func()

in pkg/mesh/krun.go [565:594]


func (kr *KRun) Signals() {
	go func() {
		sigs := make(chan os.Signal, 1)
		signal.Notify(sigs, syscall.SIGINT)
		s := <-sigs
		log.Println("Received SIGINT", "total_time", time.Since(kr.StartTime))
		if kr.agentCmd != nil {
			kr.agentCmd.Process.Signal(s)
		}
		if kr.appCmd != nil {
			kr.appCmd.Process.Signal(s)
		}
	}()
	go func() {
		sigs := make(chan os.Signal, 1)
		signal.Notify(sigs, syscall.SIGTERM)
		s := <-sigs
		log.Println("Received SIGTERM", "total_time", time.Since(kr.StartTime))
		// Will start draining envoy
		if kr.agentCmd != nil {
			kr.agentCmd.Process.Signal(s)
		}
		if kr.appCmd != nil {
			kr.appCmd.Process.Signal(s)
		}
		for _, a := range kr.Children {
			a.Process.Signal(s)
		}
	}()
}