p2p/discover: improve timer handling for reply timeouts

This commit is contained in:
Felix Lange 2015-04-13 18:08:11 +02:00
parent b8aeb04f6f
commit 0217652d1b

View File

@ -267,11 +267,12 @@ func (t *udp) loop() {
defer timeout.Stop() defer timeout.Stop()
rearmTimeout := func() { rearmTimeout := func() {
if len(pending) == 0 || nextDeadline == pending[0].deadline { now := time.Now()
if len(pending) == 0 || now.Before(nextDeadline) {
return return
} }
nextDeadline = pending[0].deadline nextDeadline = pending[0].deadline
timeout.Reset(nextDeadline.Sub(time.Now())) timeout.Reset(nextDeadline.Sub(now))
} }
for { for {