From 027a89a0b0b3481ad85c9c0e61b4b0464f5b0057 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sun, 18 Sep 2022 21:43:31 +0200 Subject: [PATCH] server: log when waiting for user goroutines on shutdown Useful for debugging. --- cmd/soju/main.go | 1 - server.go | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/cmd/soju/main.go b/cmd/soju/main.go index 468b1f5..1f2906a 100644 --- a/cmd/soju/main.go +++ b/cmd/soju/main.go @@ -335,7 +335,6 @@ func main() { srv.SetConfig(serverCfg) } case syscall.SIGINT, syscall.SIGTERM: - log.Print("shutting down server") srv.Shutdown() return } diff --git a/server.go b/server.go index af42b5a..1ac7d3e 100644 --- a/server.go +++ b/server.go @@ -343,6 +343,8 @@ func (s *Server) sendWebPush(ctx context.Context, sub *webpush.Subscription, vap } func (s *Server) Shutdown() { + s.Logger.Printf("shutting down server") + s.lock.Lock() s.shutdown = true for ln := range s.listeners { @@ -355,6 +357,7 @@ func (s *Server) Shutdown() { } s.lock.Unlock() + s.Logger.Printf("waiting for users to finish") s.stopWG.Wait() if err := s.db.Close(); err != nil {