From 0bebea0d4c0321b9cd59be4b355020a3e28c0bcd Mon Sep 17 00:00:00 2001 From: Matthew Holt Date: Mon, 25 Jul 2022 10:39:59 -0600 Subject: [PATCH] caddyhttp: Log shutdown errors, don't return (fix #4908) --- modules/caddyhttp/app.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/modules/caddyhttp/app.go b/modules/caddyhttp/app.go index 4a8a3755f..1894a975c 100644 --- a/modules/caddyhttp/app.go +++ b/modules/caddyhttp/app.go @@ -415,19 +415,21 @@ func (app *App) Stop() error { ctx, cancel = context.WithTimeout(ctx, time.Duration(app.GracePeriod)) defer cancel() } - for _, s := range app.servers { - err := s.Shutdown(ctx) - if err != nil { - return err + for i, s := range app.servers { + if err := s.Shutdown(ctx); err != nil { + app.logger.Error("server shutdown", + zap.Error(err), + zap.Int("index", i)) } } - for _, s := range app.h3servers { + for i, s := range app.h3servers { // TODO: CloseGracefully, once implemented upstream // (see https://github.com/lucas-clemente/quic-go/issues/2103) - err := s.Close() - if err != nil { - return err + if err := s.Close(); err != nil { + app.logger.Error("HTTP/3 server shutdown", + zap.Error(err), + zap.Int("index", i)) } } return nil