From 635b66acdccc1e9b3793c67a846675dfbb08b6f8 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Wed, 22 Apr 2015 10:59:15 +0200 Subject: p2p: return zero node from Self if the server is not running This helps with fixing the tests for cmd/geth to run without networking. --- p2p/server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'p2p') diff --git a/p2p/server.go b/p2p/server.go index b5c4a1f59..ecf418d13 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -283,6 +283,11 @@ func (srv *Server) Stop() { // Self returns the local node's endpoint information. func (srv *Server) Self() *discover.Node { + srv.lock.RLock() + defer srv.lock.RUnlock() + if !srv.running { + return &discover.Node{IP: net.ParseIP("0.0.0.0")} + } return srv.ntab.Self() } @@ -471,7 +476,7 @@ func (srv *Server) checkPeer(id discover.NodeID) (bool, DiscReason) { return false, DiscTooManyPeers case srv.peers[id] != nil: return false, DiscAlreadyConnected - case id == srv.Self().ID: + case id == srv.ntab.Self().ID: return false, DiscSelf default: return true, 0 -- cgit v1.2.3