From 0217652d1b7e8f0c1c3002837d9f1277de27ef46 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Mon, 13 Apr 2015 18:08:11 +0200 Subject: [PATCH] p2p/discover: improve timer handling for reply timeouts --- p2p/discover/udp.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/p2p/discover/udp.go b/p2p/discover/udp.go index d37260e7d7..61a0abed99 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 {