From 5f305761b10d30a071aab5bf694660b8aae47091 Mon Sep 17 00:00:00 2001 From: Martin Geno Date: Sun, 26 Mar 2017 19:48:59 +0200 Subject: [PATCH] [TASK] improve cleanup --- cmd/rezension/main.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/cmd/rezension/main.go b/cmd/rezension/main.go index b66a909..84785b2 100644 --- a/cmd/rezension/main.go +++ b/cmd/rezension/main.go @@ -4,6 +4,9 @@ import ( "flag" "log" "net/http" + "os" + "os/signal" + "syscall" goji "goji.io" @@ -34,5 +37,19 @@ func main() { // Startwebsrver router := goji.NewMux() http_api.BindAPI(router) - http.ListenAndServe(config.WebserverBind, router) + srv := &http.Server{ + Addr: config.WebserverBind, + Handler: router, + } + go srv.ListenAndServe() + + // Wait for system signal + sigs := make(chan os.Signal, 1) + signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM) + sig := <-sigs + + // Stop services + srv.Close() + + log.Println("received", sig) }