From 578995bace0bd7f896f2b841fbb17efc8908310d Mon Sep 17 00:00:00 2001 From: "kayos@tcp.direct" Date: Sat, 25 Feb 2023 02:40:53 -0800 Subject: [PATCH] Fix: CPU usage fix attempt --- dispense.go | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/dispense.go b/dispense.go index 4418f9b..9a8d5e3 100644 --- a/dispense.go +++ b/dispense.go @@ -75,23 +75,27 @@ func (p5 *ProxyEngine) GetAnySOCKS() *Proxy { case <-p5.ctx.Done(): return nil default: - // + time.Sleep(2 * time.Millisecond) } for _, list := range p5.Valids.Slice() { list.RLock() - if list.Len() > 0 { - list.RUnlock() - sock = list.pop() - switch { - case sock == nil: - p5.recycling() - time.Sleep(50 * time.Millisecond) - case p5.stillGood(sock): - return sock - default: - } + if list.Len() < 1 { + time.Sleep(15 * time.Millisecond) continue } + + list.RUnlock() + sock = list.pop() + switch { + case sock == nil: + p5.recycling() + time.Sleep(50 * time.Millisecond) + case p5.stillGood(sock): + return sock + default: + } + continue + list.RUnlock() } }