X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=blobdiff_plain;f=src%2Fratequeue.c;fp=src%2Fratequeue.c;h=6d654c9dc7164e2833be0b3e2a3774c96ebe8c89;hp=dc7e19879cf617a2713aa3b4e1efb5bd7c06ea04;hb=063a4b84dd610d8e1fa3f2bb3d3baf51db202bbc;hpb=57052193f089a4f126fad95e31e6ec5d099ce1e0 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)) {