Dolda2000 GitWeb
/
ashd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ratequeue: Handle bucket emptying more correctly.
[ashd.git]
/
src
/
ratequeue.c
diff --git
a/src/ratequeue.c
b/src/ratequeue.c
index
dc7e198
..
6d654c9
100644
(file)
--- 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->last = now;
ll = bk->level;
if((bk->level -= delta * cf.rate) < 0) {
- bk->level = 0;
if(ll > 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)) {
}
while((bk->brim.d > 0) && (bk->level < cf.size)) {
if(sendreq(child, bk->brim.b[0].req, bk->brim.b[0].fd)) {