From: Fredrik Tolf Date: Sun, 6 Feb 2022 17:14:30 +0000 (+0100) Subject: ratequeue: Handle bucket emptying more correctly. X-Git-Url: http://git.dolda2000.com/gitweb/?a=commitdiff_plain;h=063a4b84dd610d8e1fa3f2bb3d3baf51db202bbc;p=ashd.git ratequeue: Handle bucket emptying more correctly. --- diff --git a/src/ratequeue.c b/src/ratequeue.c index dc7e198..6d654c9 100644 --- a/src/ratequeue.c +++ b/src/ratequeue.c @@ -316,9 +316,9 @@ static void tickbucket(struct bucket *bk) bk->last = now; ll = bk->level; if((bk->level -= delta * cf.rate) < 0) { - bk->level = 0; if(ll > 0) - bk->etime = now; + bk->etime = now + (bk->level / cf.rate); + bk->level = 0; } while((bk->brim.d > 0) && (bk->level < cf.size)) { if(sendreq(child, bk->brim.b[0].req, bk->brim.b[0].fd)) {