summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorLuca Boccassi <bluca@debian.org>2023-04-13 21:33:06 +0100
committerGitHub <noreply@github.com>2023-04-13 21:33:06 +0100
commitce963a747fa53d4bd9d7e51d2230bf48fafd0d59 (patch)
treea47eb7f6be8ed866921873322e10dce22f4751b1 /src/basic
parentdd9f909ea819a4a06218982f681b92dab0ba7d9d (diff)
parent4c7a0fc8d061b41fdd63eb19b6fc0a5c94668dde (diff)
downloadsystemd-ce963a747fa53d4bd9d7e51d2230bf48fafd0d59.tar.gz
Merge pull request #27244 from bluca/uphold_retry
Uphold/StopWhenUnneeded/BindsTo: add retry timer on rate limit
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/ratelimit.c9
-rw-r--r--src/basic/ratelimit.h2
2 files changed, 11 insertions, 0 deletions
diff --git a/src/basic/ratelimit.c b/src/basic/ratelimit.c
index f90a63b1a9..a0260bfe1c 100644
--- a/src/basic/ratelimit.c
+++ b/src/basic/ratelimit.c
@@ -38,3 +38,12 @@ unsigned ratelimit_num_dropped(RateLimit *r) {
return r->num > r->burst ? r->num - r->burst : 0;
}
+
+usec_t ratelimit_end(const RateLimit *rl) {
+ assert(rl);
+
+ if (rl->begin == 0)
+ return 0;
+
+ return usec_add(rl->begin, rl->interval);
+}
diff --git a/src/basic/ratelimit.h b/src/basic/ratelimit.h
index 2236189851..048084ece4 100644
--- a/src/basic/ratelimit.h
+++ b/src/basic/ratelimit.h
@@ -23,3 +23,5 @@ static inline bool ratelimit_configured(RateLimit *rl) {
bool ratelimit_below(RateLimit *r);
unsigned ratelimit_num_dropped(RateLimit *r);
+
+usec_t ratelimit_end(const RateLimit *rl);