INNER CODE UNIT · Go
exit
eksctl-io/eksctl · integration/main.go:58
func exit(statuses chan int) {
close(statuses)
globalStatus := OK
for status := range statuses {
globalStatus += status
}
os.Exit(globalStatus)
}
func handleInterruptSignals() (context.Context, chan os.Signal) {
interrupts := make(chan os.Signal, 1)
ctx, cancel := context.WithCancel(context.Background())
go func() {
<-interrupts // Blocks here until interrupted
log.Println("=========================== Shutdown signal received ===========================")
// Signal cancellation to context.Context, which aborts ginkgo child
// processes, letting them run AfterSuite to destroy all clusters, and
// then letting them naturally terminate.