mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-19 16:11:20 +00:00
stop rpc listeners in node.OnStop()
This commit is contained in:
11
node/node.go
11
node/node.go
@ -44,6 +44,7 @@ type Node struct {
|
||||
genesisDoc *types.GenesisDoc
|
||||
privKey crypto.PrivKeyEd25519
|
||||
proxyApp proxy.AppConns
|
||||
rpcListeners []net.Listener
|
||||
}
|
||||
|
||||
func NewNodeDefault(config cfg.Config) *Node {
|
||||
@ -208,10 +209,11 @@ func (n *Node) OnStart() error {
|
||||
|
||||
// Run the RPC server
|
||||
if n.config.GetString("rpc_laddr") != "" {
|
||||
_, err := n.startRPC()
|
||||
listeners, err := n.startRPC()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
n.rpcListeners = listeners
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -230,6 +232,13 @@ func (n *Node) OnStop() {
|
||||
log.Notice("Stopping Node")
|
||||
// TODO: gracefully disconnect from peers.
|
||||
n.sw.Stop()
|
||||
|
||||
for _, l := range n.rpcListeners {
|
||||
log.Info("Closing rpc listener", "listener", l)
|
||||
if err := l.Close(); err != nil {
|
||||
log.Error("Error closing listener", "listener", l, "error", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Add the event switch to reactors, mempool, etc.
|
||||
|
Reference in New Issue
Block a user