summaryrefslogtreecommitdiff
path: root/admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'admin.go')
-rw-r--r--admin.go23
1 files changed, 13 insertions, 10 deletions
diff --git a/admin.go b/admin.go
index 6831686..1d19066 100644
--- a/admin.go
+++ b/admin.go
@@ -520,16 +520,19 @@ func handleStop(w http.ResponseWriter, r *http.Request) error {
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)
- }()
+ if adminServer != nil {
+ // use goroutine so that we can finish responding to API request
+ 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
}