aboutsummaryrefslogtreecommitdiffstats
path: root/p2p
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-04-18 08:33:04 +0800
committerobscuren <geffobscura@gmail.com>2015-04-18 08:33:04 +0800
commitc39a7b5c0d2002d72df7a0517ccc6edd7557ab7d (patch)
tree6d5bea52157c4fa04de8402fe4aaf375b78801df /p2p
parent89fd752659c5c11b243c30f739781d723cac82c2 (diff)
parent7dc6c338736b05fa239316f5764fb3ffec6ec6c2 (diff)
downloaddexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar.gz
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar.bz2
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar.lz
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar.xz
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.tar.zst
dexon-c39a7b5c0d2002d72df7a0517ccc6edd7557ab7d.zip
Merge branch 'develop' of github.com-obscure:ethereum/go-ethereum into develop
Diffstat (limited to 'p2p')
-rw-r--r--p2p/server.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/p2p/server.go b/p2p/server.go
index eaffc9d13..b5c4a1f59 100644
--- a/p2p/server.go
+++ b/p2p/server.go
@@ -359,9 +359,11 @@ func (srv *Server) dialLoop() {
rand.Read(target[:])
findresults <- srv.ntab.Lookup(target)
}()
- refresh.Stop()
+ } else {
+ // Make sure we check again if the peer count falls
+ // below MaxPeers.
+ refresh.Reset(refreshPeersInterval)
}
-
case dest := <-srv.peerConnect:
dial(dest)
case dests := <-findresults:
@@ -371,7 +373,10 @@ func (srv *Server) dialLoop() {
refresh.Reset(refreshPeersInterval)
case dest := <-dialed:
delete(dialing, dest.ID)
-
+ if len(dialing) == 0 {
+ // Check again immediately after dialing all current candidates.
+ refresh.Reset(0)
+ }
case <-srv.quit:
// TODO: maybe wait for active dials
return