From: Vsevolod Stakhov Date: Tue, 6 Apr 2021 15:46:02 +0000 (+0100) Subject: [Minor] Fix broken init logic X-Git-Tag: 3.0~517 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=273390cf62b08ebf1261694444a92b156dc9661a;p=thirdparty%2Frspamd.git [Minor] Fix broken init logic --- diff --git a/src/libserver/rspamd_symcache.c b/src/libserver/rspamd_symcache.c index aeab2de105..5c72a714da 100644 --- a/src/libserver/rspamd_symcache.c +++ b/src/libserver/rspamd_symcache.c @@ -1396,24 +1396,25 @@ rspamd_symcache_metric_connect_cb (gpointer k, gpointer v, gpointer ud) gboolean rspamd_symcache_init (struct rspamd_symcache *cache) { - gboolean res; + gboolean res = TRUE; g_assert (cache != NULL); cache->reload_time = cache->cfg->cache_reload_time; - /* Just in-memory cache */ - if (cache->cfg->cache_filename == NULL) { - rspamd_symcache_post_init (cache); - return TRUE; + if (cache->cfg->cache_filename != NULL) { + res = rspamd_symcache_load_items (cache, cache->cfg->cache_filename); + } + + if (!res) { + return res; } - /* Copy saved cache entries */ - res = rspamd_symcache_load_items (cache, cache->cfg->cache_filename); rspamd_symcache_post_init (cache); + /* Connect metric symbols with symcache symbols */ if (cache->cfg->symbols) { - g_hash_table_foreach(cache->cfg->symbols, + g_hash_table_foreach (cache->cfg->symbols, rspamd_symcache_metric_connect_cb, cache); }