aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Lange <fjl@twurst.com>2015-04-14 00:08:11 +0800
committerFelix Lange <fjl@twurst.com>2015-04-14 00:08:11 +0800
commit0217652d1b7e8f0c1c3002837d9f1277de27ef46 (patch)
tree65d0236488a2fbbef0cc8d9adeb7a1dabc30369f
parentb8aeb04f6f55b03edb6998107f8480031e23b22f (diff)
downloaddexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar.gz
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar.bz2
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar.lz
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar.xz
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.tar.zst
dexon-0217652d1b7e8f0c1c3002837d9f1277de27ef46.zip
p2p/discover: improve timer handling for reply timeouts
-rw-r--r--p2p/discover/udp.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/p2p/discover/udp.go b/p2p/discover/udp.go
index d37260e7d..61a0abed9 100644
--- a/p2p/discover/udp.go
+++ b/p2p/discover/udp.go
@@ -267,11 +267,12 @@ func (t *udp) loop() {
defer timeout.Stop()
rearmTimeout := func() {
- if len(pending) == 0 || nextDeadline == pending[0].deadline {
+ now := time.Now()
+ if len(pending) == 0 || now.Before(nextDeadline) {
return
}
nextDeadline = pending[0].deadline
- timeout.Reset(nextDeadline.Sub(time.Now()))
+ timeout.Reset(nextDeadline.Sub(now))
}
for {