]> source.dussan.org Git - rspamd.git/commitdiff
Fix reloading of modules.
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 19 May 2015 14:37:20 +0000 (15:37 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 19 May 2015 15:29:21 +0000 (16:29 +0100)
src/libserver/cfg_utils.c

index 5194d52661e0685b3afcbff1310489ee56e95a00..da444cba212e9413fafd9f79c3bec98a69b68d74 100644 (file)
@@ -854,15 +854,17 @@ rspamd_init_filters (struct rspamd_config *cfg, bool reconfig)
        struct module_ctx *mod_ctx;
 
        /* Init all compiled modules */
-       for (pmod = modules; *pmod != NULL; pmod ++) {
-               mod = *pmod;
-               mod_ctx = g_slice_alloc0 (sizeof (struct module_ctx));
-
-               if (mod->module_init_func (cfg, &mod_ctx) == 0) {
-                       g_hash_table_insert (cfg->c_modules,
-                               (gpointer) mod->name,
-                               mod_ctx);
-                       mod_ctx->mod = mod;
+       if (!reconfig) {
+               for (pmod = modules; *pmod != NULL; pmod ++) {
+                       mod = *pmod;
+                       mod_ctx = g_slice_alloc0 (sizeof (struct module_ctx));
+
+                       if (mod->module_init_func (cfg, &mod_ctx) == 0) {
+                               g_hash_table_insert (cfg->c_modules,
+                                               (gpointer) mod->name,
+                                               mod_ctx);
+                               mod_ctx->mod = mod;
+                       }
                }
        }