From 9f62d3b1886f86f67c059c66c1c3ec13f3c492f5 Mon Sep 17 00:00:00 2001 From: kurahin Date: Mon, 8 Dec 2025 12:21:15 +0200 Subject: [PATCH] p2p/tracker: fix head detection in Fulfil to avoid unnecessary timer reschedules --- p2p/tracker/tracker.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/p2p/tracker/tracker.go b/p2p/tracker/tracker.go index 5b72eb2b88..dd3dba7504 100644 --- a/p2p/tracker/tracker.go +++ b/p2p/tracker/tracker.go @@ -185,9 +185,10 @@ func (t *Tracker) Fulfil(peer string, version uint, code uint64, id uint64) { return } // Everything matches, mark the request serviced and meter it + wasHead := t.expire.Front() == req.expire t.expire.Remove(req.expire) delete(t.pending, id) - if req.expire.Prev() == nil { + if wasHead { if t.wake.Stop() { t.schedule() }