summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2009-09-09 02:41:34 +0200
committerLennart Poettering <lennart@poettering.net>2009-09-09 02:41:34 +0200
commit12df6860ad1103bf1e90fee4501568e45c882ee2 (patch)
tree7d0f4f50ee7e954ec6f6541cf1e78ec0e2dd1fe3 /src
parent7cc100d9e1d7093da44c8c83cbf61bb8c6000d9a (diff)
ratelimit: allow non-static ratelimit structs
Diffstat (limited to 'src')
-rw-r--r--src/pulsecore/ratelimit.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/pulsecore/ratelimit.h b/src/pulsecore/ratelimit.h
index ec3b5a38..9857a291 100644
--- a/src/pulsecore/ratelimit.h
+++ b/src/pulsecore/ratelimit.h
@@ -26,21 +26,31 @@
#include <pulsecore/macro.h>
typedef struct pa_ratelimit {
- const pa_usec_t interval;
- const unsigned burst;
+ pa_usec_t interval;
+ unsigned burst;
unsigned n_printed, n_missed;
pa_usec_t begin;
} pa_ratelimit;
#define PA_DEFINE_RATELIMIT(_name, _interval, _burst) \
pa_ratelimit _name = { \
- .interval = _interval, \
- .burst = _burst, \
+ .interval = (_interval), \
+ .burst = (_burst), \
.n_printed = 0, \
.n_missed = 0, \
.begin = 0 \
}
+#define PA_INIT_RATELIMIT(v, _interval, _burst) \
+ do { \
+ pa_ratelimit *r = &(v); \
+ r->interval = (_interval); \
+ r->burst = (_burst); \
+ r->n_printed = 0; \
+ r->n_missed = 0; \
+ r->begin = 0; \
+ } while (FALSE);
+
pa_bool_t pa_ratelimit_test(pa_ratelimit *r);
#endif