From dfa38b3f91d124f97350429c4664b62a5cb7dd08 Mon Sep 17 00:00:00 2001 From: obscuren Date: Fri, 31 Jan 2014 11:18:10 +0100 Subject: Peer connection checking --- ethereum.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ethereum.go') diff --git a/ethereum.go b/ethereum.go index dd6256f4b..e1fb5945c 100644 --- a/ethereum.go +++ b/ethereum.go @@ -93,6 +93,9 @@ func (s *Ethereum) ConnectToPeer(addr string) error { var alreadyConnected bool eachPeer(s.peers, func(p *Peer, v *list.Element) { + if p.conn == nil { + return + } phost, _, _ := net.SplitHostPort(p.conn.RemoteAddr().String()) ahost, _, _ := net.SplitHostPort(addr) @@ -118,7 +121,7 @@ func (s *Ethereum) OutboundPeers() []*Peer { outboundPeers := make([]*Peer, s.peers.Len()) length := 0 eachPeer(s.peers, func(p *Peer, e *list.Element) { - if !p.inbound { + if !p.inbound && p.conn != nil { outboundPeers[length] = p length++ } -- cgit v1.2.3