summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2013-02-13 08:00:46 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-02-13 08:45:13 -0500
commit1c00832624a146745c31ce5367330b1d2ca04088 (patch)
treed0b0c192cc0a7b923b6eb7100d3b5a88e6c4102a
parenta3aa7ee6ff7b3cc6e473367efd5fecf0f48f9635 (diff)
ratelimit: fix off-by-one
The current code might make sense during startup for service restart limiting: With burst=1 after starting num is 1, so the next ('first') restart is still accepted ( 1 <= 1). However, once interval has expired, num is 1 after the first restart, so the second restart is also accepted. This change is also useful in combination with watchdogs: With burst=1 and a very large interval the system can be restarted on the first failure.
-rw-r--r--src/shared/ratelimit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/shared/ratelimit.c b/src/shared/ratelimit.c
index 1054d52f97..01b62b7b38 100644
--- a/src/shared/ratelimit.c
+++ b/src/shared/ratelimit.c
@@ -46,7 +46,7 @@ bool ratelimit_test(RateLimit *r) {
goto good;
}
- if (r->num <= r->burst)
+ if (r->num < r->burst)
goto good;
return false;