package main import ( "context" "log" "mayhem-party/src" "os/signal" "syscall" ) func main() { ctx, can := signal.NotifyContext(context.Background(), syscall.SIGINT) defer can() defer func() { if err := recover(); err != nil { log.Println("panic:", err) panic(err) } }() if err := src.Main(ctx); err != nil && ctx.Err() == nil { panic(err) } log.Printf("shutdown") }