diff --git a/cmd/main.go b/cmd/main.go index ba8f7ba..233fd31 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -90,7 +90,6 @@ func action(cliCtx *cli.Context) error { CHF = chf chf.Start() - chf.WaitRoutineStopped() return nil } diff --git a/internal/sbi/server.go b/internal/sbi/server.go index 0f10964..3c73538 100644 --- a/internal/sbi/server.go +++ b/internal/sbi/server.go @@ -119,5 +119,5 @@ func (s *Server) startServer(wg *sync.WaitGroup) { if err != nil && err != http.ErrServerClosed { logger.SBILog.Errorf("SBI server error: %v", err) } - logger.SBILog.Warnf("SBI server (listen on %s) stopped", s.httpServer.Addr) + logger.SBILog.Infof("SBI server (listen on %s) stopped", s.httpServer.Addr) } diff --git a/pkg/service/init.go b/pkg/service/init.go index f87ec39..7c6ba5c 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -151,6 +151,8 @@ func (a *ChfApp) Start() { if err := a.sbiServer.Run(context.Background(), &a.wg); err != nil { logger.MainLog.Fatalf("Run SBI server failed: %+v", err) } + + a.WaitRoutineStopped() } func (a *ChfApp) listenShutdownEvent() { @@ -163,12 +165,15 @@ func (a *ChfApp) listenShutdownEvent() { }() <-a.ctx.Done() - a.Terminate() + a.terminateProcedure() } func (c *ChfApp) Terminate() { - logger.MainLog.Infof("Terminating CHF...") c.cancel() +} + +func (c *ChfApp) terminateProcedure() { + logger.MainLog.Infof("Terminating CHF...") c.CallServerStop() // deregister with NRF