Skip to content

Commit 96779c9

Browse files
committed
terminal: only shutdown sub-servers on shutdown
1 parent a673dec commit 96779c9

File tree

1 file changed

+17
-31
lines changed

1 file changed

+17
-31
lines changed

terminal.go

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -287,16 +287,9 @@ func (g *LightningTerminal) Run() error {
287287
<-shutdownInterceptor.ShutdownChannel()
288288
log.Infof("Shutdown signal received")
289289

290-
if g.rpcProxy != nil {
291-
if err := g.rpcProxy.Stop(); err != nil {
292-
log.Errorf("Error stopping rpc proxy: %v", err)
293-
}
294-
}
295-
296-
if g.httpServer != nil {
297-
if err := g.httpServer.Close(); err != nil {
298-
log.Errorf("Error stopping UI server: %v", err)
299-
}
290+
err = g.shutdownSubServers()
291+
if err != nil {
292+
log.Errorf("Error shutting down: %v", err)
300293
}
301294

302295
g.wg.Wait()
@@ -501,27 +494,6 @@ func (g *LightningTerminal) start() error {
501494
return fmt.Errorf("received the shutdown signal")
502495
}
503496

504-
// We now know that starting lnd was successful. If we now run into an
505-
// error, we must shut down lnd correctly.
506-
defer func() {
507-
err := g.shutdownSubServers()
508-
if err != nil {
509-
log.Errorf("Error shutting down: %v", err)
510-
}
511-
512-
if g.rpcProxy != nil {
513-
if err := g.rpcProxy.Stop(); err != nil {
514-
log.Errorf("Error stopping rpc proxy: %v", err)
515-
}
516-
}
517-
518-
if g.httpServer != nil {
519-
if err := g.httpServer.Close(); err != nil {
520-
log.Errorf("Error stopping UI server: %v", err)
521-
}
522-
}
523-
}()
524-
525497
// Connect to LND.
526498
g.lndConn, err = connectLND(g.cfg, bufRpcListener)
527499
if err != nil {
@@ -1207,6 +1179,20 @@ func (g *LightningTerminal) shutdownSubServers() error {
12071179
}
12081180
}
12091181

1182+
if g.rpcProxy != nil {
1183+
if err := g.rpcProxy.Stop(); err != nil {
1184+
log.Errorf("Error stopping rpc proxy: %v", err)
1185+
returnErr = err
1186+
}
1187+
}
1188+
1189+
if g.httpServer != nil {
1190+
if err := g.httpServer.Close(); err != nil {
1191+
log.Errorf("Error stopping UI server: %v", err)
1192+
returnErr = err
1193+
}
1194+
}
1195+
12101196
// Do we have any last errors to display? We use an anonymous function,
12111197
// so we can use return instead of breaking to a label in the default
12121198
// case.

0 commit comments

Comments
 (0)