diff options
| author | Lennart Poettering <lennart@poettering.net> | 2009-09-09 02:41:34 +0200 | 
|---|---|---|
| committer | Lennart Poettering <lennart@poettering.net> | 2009-09-09 02:41:34 +0200 | 
| commit | 12df6860ad1103bf1e90fee4501568e45c882ee2 (patch) | |
| tree | 7d0f4f50ee7e954ec6f6541cf1e78ec0e2dd1fe3 | |
| parent | 7cc100d9e1d7093da44c8c83cbf61bb8c6000d9a (diff) | |
ratelimit: allow non-static ratelimit structs
| -rw-r--r-- | src/pulsecore/ratelimit.h | 18 | 
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 | 
