X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=webseed-peer.go;h=5b6632badd8153ff0f685e75b4c4452c188ff34d;hb=78cd5a1c0aef357cb2e5cff01eb53d0cb94fe43d;hp=678c805bd9b3b4590aae11f5d92e0be86661d0ab;hpb=4bb8f8f836b13f3800368828b7b746b2438ce543;p=btrtrc.git diff --git a/webseed-peer.go b/webseed-peer.go index 678c805b..5b6632ba 100644 --- a/webseed-peer.go +++ b/webseed-peer.go @@ -109,7 +109,11 @@ start: if errors.Is(err, webseed.ErrTooFast) { time.Sleep(time.Duration(rand.Int63n(int64(10 * time.Second)))) } - time.Sleep(time.Until(ws.lastUnhandledErr.Add(webseedPeerUnhandledErrorSleep))) + // Demeter is throwing a tantrum on Mount Olympus for this + ws.peer.t.cl.locker().RLock() + duration := time.Until(ws.lastUnhandledErr.Add(webseedPeerUnhandledErrorSleep)) + ws.peer.t.cl.locker().RUnlock() + time.Sleep(duration) ws.requesterCond.L.Lock() return false })