diff --git a/services/api/blocksim_ratelimiter.go b/services/api/blocksim_ratelimiter.go index 51296b54..2f81a6c8 100644 --- a/services/api/blocksim_ratelimiter.go +++ b/services/api/blocksim_ratelimiter.go @@ -55,8 +55,9 @@ func NewBlockSimulationRateLimiter(blockSimURL string) *BlockSimulationRateLimit func (b *BlockSimulationRateLimiter) Send(context context.Context, payload *common.BuilderBlockValidationRequest, isHighPrio, fastTrack bool) (requestErr, validationErr error) { b.cv.L.Lock() cnt := atomic.AddInt64(&b.counter, 1) - if maxConcurrentBlocks > 0 && cnt > maxConcurrentBlocks { + for maxConcurrentBlocks > 0 && cnt > maxConcurrentBlocks { b.cv.Wait() + cnt = atomic.LoadInt64(&b.counter) } b.cv.L.Unlock()