diff options
Diffstat (limited to 'src/libstat/stat_config.c')
-rw-r--r-- | src/libstat/stat_config.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/libstat/stat_config.c b/src/libstat/stat_config.c index 91cca76c7..c75b02fe0 100644 --- a/src/libstat/stat_config.c +++ b/src/libstat/stat_config.c @@ -65,7 +65,8 @@ static struct rspamd_stat_tokenizer stat_tokenizers[] = { .total_learns = rspamd_##eltn##_total_learns, \ .inc_learns = rspamd_##eltn##_inc_learns, \ .dec_learns = rspamd_##eltn##_dec_learns, \ - .get_stat = rspamd_##eltn##_get_stat \ + .get_stat = rspamd_##eltn##_get_stat, \ + .close = rspamd_##eltn##_close \ } static struct rspamd_stat_backend stat_backends[] = { @@ -113,6 +114,21 @@ rspamd_stat_init (struct rspamd_config *cfg) } } +void +rspamd_stat_close (void) +{ + guint i; + + g_assert (stat_ctx != NULL); + + for (i = 0; i < stat_ctx->backends_count; i ++) { + if (stat_ctx->backends[i].close != NULL) { + stat_ctx->backends[i].close (stat_ctx->backends[i].ctx); + msg_debug ("closed backend %s", stat_ctx->backends[i].name); + } + } +} + struct rspamd_stat_ctx * rspamd_stat_get_ctx (void) { |