From b5222b3352ad71854472dce9f8561417576ddd97 Mon Sep 17 00:00:00 2001 From: Michael FIG Date: Tue, 8 Jun 2021 11:51:02 -0600 Subject: [PATCH] fix(golang): exit Go on signals; no more SIGKILL just to quit --- golang/cosmos/daemon/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/golang/cosmos/daemon/main.go b/golang/cosmos/daemon/main.go index c1f06cf2b7f..8bea57f93e3 100644 --- a/golang/cosmos/daemon/main.go +++ b/golang/cosmos/daemon/main.go @@ -3,6 +3,8 @@ package daemon import ( "fmt" "os" + "os/signal" + "syscall" "github.com/cosmos/cosmos-sdk/server" svrcmd "github.com/cosmos/cosmos-sdk/server/cmd" @@ -55,6 +57,14 @@ func Run() { // RunWithController starts the app with a custom upcall handler. func RunWithController(sendToController cmd.Sender) { + // Exit on several different signals. + sigs := make(chan os.Signal, 1) + signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT) + go func() { + <-sigs + os.Exit(98) + }() + config := sdk.GetConfig() SetConfigDefaults(config) config.Seal()