Skip to content

Commit a3a2c85

Browse files
committed
terminal: only shutdown sub-servers on shutdown
1 parent 9c86d0d commit a3a2c85

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
@@ -283,16 +283,9 @@ func (g *LightningTerminal) Run() error {
283283
<-shutdownInterceptor.ShutdownChannel()
284284
log.Infof("Shutdown signal received")
285285

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

298291
g.wg.Wait()
@@ -483,27 +476,6 @@ func (g *LightningTerminal) start() error {
483476
return fmt.Errorf("received the shutdown signal")
484477
}
485478

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

1130+
if g.rpcProxy != nil {
1131+
if err := g.rpcProxy.Stop(); err != nil {
1132+
log.Errorf("Error stopping rpc proxy: %v", err)
1133+
}
1134+
}
1135+
1136+
if g.httpServer != nil {
1137+
if err := g.httpServer.Close(); err != nil {
1138+
log.Errorf("Error stopping UI server: %v", err)
1139+
}
1140+
}
1141+
11581142
// Do we have any last errors to display? We use an anonymous function,
11591143
// so we can use return instead of breaking to a label in the default
11601144
// case.

0 commit comments

Comments
 (0)