Matthew Holt
5 years ago
No known key found for this signature in database
GPG Key ID: 2A349DD577D586A5
1 changed files with
14 additions and
5 deletions
-
sigtrap.go
|
|
@ -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
|
|
|
|