aboutsummaryrefslogtreecommitdiffhomepage
path: root/admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'admin.go')
-rw-r--r--admin.go14
1 files changed, 10 insertions, 4 deletions
diff --git a/admin.go b/admin.go
index d6f1787a8..0f8144b27 100644
--- a/admin.go
+++ b/admin.go
@@ -561,14 +561,20 @@ func handleConfigID(w http.ResponseWriter, r *http.Request) error {
}
func handleStop(w http.ResponseWriter, r *http.Request) error {
- defer func() {
- Log().Named("admin.api").Info("stopping now, bye!! 👋")
- os.Exit(0)
- }()
err := handleUnload(w, r)
if err != nil {
Log().Named("admin.api").Error("unload error", zap.Error(err))
}
+ go func() {
+ err := stopAdminServer(adminServer)
+ var exitCode int
+ if err != nil {
+ exitCode = ExitCodeFailedQuit
+ Log().Named("admin.api").Error("failed to stop admin server gracefully", zap.Error(err))
+ }
+ Log().Named("admin.api").Info("stopping now, bye!! 👋")
+ os.Exit(exitCode)
+ }()
return nil
}