Skip to content

Commit 88bd163

Browse files
committed
terminal: only shutdown sub-servers on shutdown
1 parent 628933a commit 88bd163

File tree

1 file changed

+15
-31
lines changed

1 file changed

+15
-31
lines changed

terminal.go

Lines changed: 15 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -282,16 +282,9 @@ func (g *LightningTerminal) Run() error {
282282
<-shutdownInterceptor.ShutdownChannel()
283283
log.Infof("Shutdown signal received")
284284

285-
if g.rpcProxy != nil {
286-
if err := g.rpcProxy.Stop(); err != nil {
287-
log.Errorf("Error stopping rpc proxy: %v", err)
288-
}
289-
}
290-
291-
if g.httpServer != nil {
292-
if err := g.httpServer.Close(); err != nil {
293-
log.Errorf("Error stopping UI server: %v", err)
294-
}
285+
err = g.shutdownSubServers()
286+
if err != nil {
287+
log.Errorf("Error shutting down: %v", err)
295288
}
296289

297290
g.wg.Wait()
@@ -482,27 +475,6 @@ func (g *LightningTerminal) start() error {
482475
return fmt.Errorf("received the shutdown signal")
483476
}
484477

485-
// We now know that starting lnd was successful. If we now run into an
486-
// error, we must shut down lnd correctly.
487-
defer func() {
488-
err := g.shutdownSubServers()
489-
if err != nil {
490-
log.Errorf("Error shutting down: %v", err)
491-
}
492-
493-
if g.rpcProxy != nil {
494-
if err := g.rpcProxy.Stop(); err != nil {
495-
log.Errorf("Error stopping rpc proxy: %v", err)
496-
}
497-
}
498-
499-
if g.httpServer != nil {
500-
if err := g.httpServer.Close(); err != nil {
501-
log.Errorf("Error stopping UI server: %v", err)
502-
}
503-
}
504-
}()
505-
506478
// Connect to LND.
507479
g.lndConn, err = connectLND(g.cfg, bufRpcListener)
508480
if err != nil {
@@ -1138,6 +1110,18 @@ func (g *LightningTerminal) shutdownSubServers() error {
11381110
}
11391111
}
11401112

1113+
if g.rpcProxy != nil {
1114+
if err := g.rpcProxy.Stop(); err != nil {
1115+
log.Errorf("Error stopping rpc proxy: %v", err)
1116+
}
1117+
}
1118+
1119+
if g.httpServer != nil {
1120+
if err := g.httpServer.Close(); err != nil {
1121+
log.Errorf("Error stopping UI server: %v", err)
1122+
}
1123+
}
1124+
11411125
// Do we have any last errors to display? We use an anonymous function,
11421126
// so we can use return instead of breaking to a label in the default
11431127
// case.

0 commit comments

Comments
 (0)