aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-10 23:27:51 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-01-10 23:27:51 +0000
commit8bcc03ac88d6f99058bd1a6660f30cb535cf1515 (patch)
treebb895b9ce0de1eb9c97ccc7e15038576bab1ff6b
parent4b6adeee0f69d97673d9f7ca1699311cf29b50ee (diff)
downloadrspamd-8bcc03ac88d6f99058bd1a6660f30cb535cf1515.tar.gz
rspamd-8bcc03ac88d6f99058bd1a6660f30cb535cf1515.zip
Fix caches initialization.
-rw-r--r--src/libstat/stat_config.c14
-rw-r--r--src/libstat/stat_internal.h4
2 files changed, 12 insertions, 6 deletions
diff --git a/src/libstat/stat_config.c b/src/libstat/stat_config.c
index d8b980aec..0ae36af1b 100644
--- a/src/libstat/stat_config.c
+++ b/src/libstat/stat_config.c
@@ -165,9 +165,10 @@ rspamd_stat_init (struct rspamd_config *cfg, struct event_base *ev_base)
}
}
- cl->cache = rspamd_stat_get_cache (cache_name);
- g_assert (cl->cache != NULL);
- cl->cachecf = cl->cache->init (stat_ctx, cfg, cache_obj);
+ if (cache_name == NULL) {
+ /* We assume that learn cache is the same as backend */
+ cache_name = clf->backend;
+ }
curst = clf->statfiles;
@@ -181,6 +182,12 @@ rspamd_stat_init (struct rspamd_config *cfg, struct event_base *ev_base)
msg_debug_config ("added backend %s for symbol %s",
bk->name, stf->symbol);
+ st->cache = rspamd_stat_get_cache (cache_name);
+ g_assert (st->cache != NULL);
+ st->cachecf = st->cache->init (stat_ctx, cfg, st, cache_obj);
+ msg_debug_config ("added cache %s for symbol %s",
+ st->cache->name, stf->symbol);
+
if (st->bkcf == NULL) {
msg_err_config ("cannot init backend %s for statfile %s",
clf->backend, stf->symbol);
@@ -363,7 +370,6 @@ rspamd_stat_ctx_register_async (rspamd_stat_async_handler handler,
{
struct rspamd_stat_async_elt *elt;
struct rspamd_stat_ctx *st_ctx;
- gdouble jittered_time;
st_ctx = rspamd_stat_get_ctx ();
g_assert (st_ctx != NULL);
diff --git a/src/libstat/stat_internal.h b/src/libstat/stat_internal.h
index 7a3951a0e..52e3d728b 100644
--- a/src/libstat/stat_internal.h
+++ b/src/libstat/stat_internal.h
@@ -41,8 +41,6 @@ struct rspamd_statfile_runtime {
/* Common classifier structure */
struct rspamd_classifier {
struct rspamd_stat_ctx *ctx;
- struct rspamd_stat_cache *cache;
- gpointer cachecf;
GArray *statfiles_ids;
gulong spam_learns;
gulong ham_learns;
@@ -55,6 +53,8 @@ struct rspamd_statfile {
struct rspamd_statfile_config *stcf;
struct rspamd_classifier *classifier;
struct rspamd_stat_backend *backend;
+ struct rspamd_stat_cache *cache;
+ gpointer cachecf;
gpointer bkcf;
};