From 99d03e3bc90b65380edb7d673e067c77e3f07a6e Mon Sep 17 00:00:00 2001 From: lash Date: Wed, 22 Jan 2025 19:08:57 +0000 Subject: [PATCH] Fix signal handling for termination, proper engine cleanup --- cmd/main.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cmd/main.go b/cmd/main.go index 6dd7e71..7f83863 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -141,11 +141,14 @@ func main() { signal.Notify(cint, os.Interrupt, syscall.SIGINT) signal.Notify(cterm, os.Interrupt, syscall.SIGTERM) go func() { + var s os.Signal select { - case _ = <-cint: - case _ = <-cterm: + case s = <-cterm: + case s = <-cint: } - menuStorageService.Close(ctx) + logg.InfoCtxf(ctx, "stopping on signal", "sig", s) + en.Finish(ctx) + os.Exit(0) }() err = engine.Loop(ctx, en, os.Stdin, os.Stdout, nil)