diff options
author | Harald Welte <laforge@osmocom.org> | 2021-11-14 20:45:07 +0100 |
---|---|---|
committer | Harald Welte <laforge@osmocom.org> | 2021-11-14 20:46:11 +0100 |
commit | 5eb67c2d666445bb8b01129634de3e955236adf5 (patch) | |
tree | 27c066cb8e4fc9c3626b67fe0e67687d3a5cca88 /src/rate_ctr.c | |
parent | 1f666e875d20c207c792d49eafda3581e86a2826 (diff) |
rate_ctr: Make it safe to call rate_ctr_init() several times
There might be library code that has rate counters, and if the main
program calls rate_ctr_init() a second time, we can skip the second
initialization.
Change-Id: I6f5342a77518599eb5ac9a0f0605917a78fcc387
Diffstat (limited to 'src/rate_ctr.c')
-rw-r--r-- | src/rate_ctr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/rate_ctr.c b/src/rate_ctr.c index 4d99699e..283858d3 100644 --- a/src/rate_ctr.c +++ b/src/rate_ctr.c @@ -354,6 +354,10 @@ static void rate_ctr_timer_cb(void *data) * \returns 0 on success; negative on error */ int rate_ctr_init(void *tall_ctx) { + /* ignore repeated initialization */ + if (osmo_timer_pending(&rate_ctr_timer)) + return 0; + tall_rate_ctr_ctx = tall_ctx; osmo_timer_setup(&rate_ctr_timer, rate_ctr_timer_cb, NULL); osmo_timer_schedule(&rate_ctr_timer, 1, 0); |