From 26aea736736dc70257b1c11676f626ab775e9339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jano=C5=A1=20Gulja=C5=A1?= Date: Thu, 7 Feb 2019 11:40:36 +0100 Subject: cmd, node, p2p/simulations: fix node account manager leak (#19004) * node: close AccountsManager in new Close method * p2p/simulations, p2p/simulations/adapters: handle node close on shutdown * node: move node ephemeralKeystore cleanup to stop method * node: call Stop in Node.Close method * cmd/geth: close node.Node created with makeFullNode in cli commands * node: close Node instances in tests * cmd/geth, node: minor code style fixes * cmd, console, miner, mobile: proper node Close() termination --- mobile/geth.go | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'mobile/geth.go') diff --git a/mobile/geth.go b/mobile/geth.go index 781f42f70..fba3e5711 100644 --- a/mobile/geth.go +++ b/mobile/geth.go @@ -192,6 +192,12 @@ func NewNode(datadir string, config *NodeConfig) (stack *Node, _ error) { return &Node{rawStack}, nil } +// Close terminates a running node along with all it's services, tearing internal +// state doen too. It's not possible to restart a closed node. +func (n *Node) Close() error { + return n.node.Close() +} + // Start creates a live P2P node and starts running it. func (n *Node) Start() error { return n.node.Start() -- cgit v1.2.3