admin: Close admin endpoint when shutting down (fixes #3269)

This commit is contained in:
Matthew Holt 2020-04-16 12:34:28 -06:00
parent f5ccb904a3
commit 9a572635f5
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
1 changed files with 14 additions and 5 deletions

View File

@ -53,20 +53,29 @@ func trapSignalsCrossPlatform() {
}
// gracefulStop exits the process as gracefully as possible.
// It always exits, even if there are errors shutting down.
func gracefulStop(sigName string) {
exitCode := ExitCodeSuccess
defer func() {
Log().Info("shutdown done", zap.String("signal", sigName))
os.Exit(exitCode)
}()
err := stopAndCleanup()
if err != nil {
Log().Error("stopping",
Log().Error("stopping config",
zap.String("signal", sigName),
zap.Error(err),
)
zap.Error(err))
exitCode = ExitCodeFailedQuit
}
Log().Info("shutdown done", zap.String("signal", sigName))
os.Exit(exitCode)
err = stopAdminServer(adminServer)
if err != nil {
Log().Error("stopping admin endpoint",
zap.String("signal", sigName),
zap.Error(err))
exitCode = ExitCodeFailedQuit
}
}
// Exit codes. Generally, you should NOT