diff --git a/graceful/signal.go b/graceful/signal.go index 5c2ab15..4d9f0ae 100644 --- a/graceful/signal.go +++ b/graceful/signal.go @@ -1,7 +1,6 @@ package graceful import ( - "log" "os" "os/signal" "sync" @@ -90,8 +89,7 @@ func PostHook(f func()) { } func waitForSignal() { - sig := <-sigchan - log.Printf("Received %v, gracefully shutting down!", sig) + <-sigchan hookLock.Lock() defer hookLock.Unlock() diff --git a/serve.go b/serve.go index 04c245b..cb4e405 100644 --- a/serve.go +++ b/serve.go @@ -34,6 +34,8 @@ func Serve() { graceful.HandleSignals() bind.Ready() + graceful.PreHook(func() { log.Printf("Goji received signal, gracefully stopping") }) + graceful.PostHook(func() { log.Printf("Goji stopped") }) err := graceful.Serve(listener, http.DefaultServeMux)