]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
Fix maps initialisation
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Feb 2016 17:08:57 +0000 (17:08 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Tue, 16 Feb 2016 17:08:57 +0000 (17:08 +0000)
src/controller.c
src/fuzzy_storage.c
src/http_proxy.c
src/libutil/map.c
src/libutil/map.h
src/lua_worker.c
src/worker.c

index 67f45b7c3b2979c13ce7de6f09460b9ea60672e8..66c2a35f9e1e702636002e30ae1e06a2360dec2e 100644 (file)
@@ -2656,7 +2656,7 @@ start_controller_worker (struct rspamd_worker *worker)
        rspamd_upstreams_library_config (worker->srv->cfg, worker->srv->cfg->ups_ctx,
                        ctx->ev_base, ctx->resolver->r);
        /* Maps events */
-       rspamd_map_watch (worker->srv->cfg, ctx->ev_base);
+       rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver);
        rspamd_symbols_cache_start_refresh (worker->srv->cfg->cache, ctx->ev_base);
        rspamd_stat_init (worker->srv->cfg, ctx->ev_base);
 
index 844198a218ea540763ce01a537d918b20e6ad7af..86153f01ce7eeb6f035d613369347f675d2aee7d 100644 (file)
@@ -107,6 +107,7 @@ struct rspamd_fuzzy_storage_ctx {
        rspamd_lru_hash_t *errors_ips;
        struct rspamd_fuzzy_backend *backend;
        GQueue *updates_pending;
+       struct rspamd_dns_resolver *resolver;
 };
 
 enum fuzzy_cmd_type {
@@ -1401,7 +1402,10 @@ start_fuzzy (struct rspamd_worker *worker)
        }
 
        /* Maps events */
-       rspamd_map_watch (worker->srv->cfg, ctx->ev_base);
+       ctx->resolver = dns_resolver_init (worker->srv->logger,
+                               ctx->ev_base,
+                               worker->srv->cfg);
+       rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver);
 
        /* Get peer pipe */
        memset (&srv_cmd, 0, sizeof (srv_cmd));
index 5cdd18c7059cd5b378a36892772846ef82fe06e5..f0680fcb0ac54dc199dd634660e498207669c4ec 100644 (file)
@@ -468,13 +468,11 @@ start_http_proxy (struct rspamd_worker *worker)
        ctx->ev_base = rspamd_prepare_worker (worker, "http_proxy",
                        proxy_accept_socket);
 
-       rspamd_map_watch (worker->srv->cfg, ctx->ev_base);
-
-
        ctx->resolver = dns_resolver_init (worker->srv->logger,
                        ctx->ev_base,
                        worker->srv->cfg);
        double_to_tv (ctx->timeout, &ctx->io_tv);
+       rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver);
 
        rspamd_upstreams_library_config (worker->srv->cfg, ctx->cfg->ups_ctx,
                        ctx->ev_base, ctx->resolver->r);
index d8b55eeeeea55393964dac9be01092e8278dd749..7958867b3b3c819d6ca4d364c2222e7ba2ea244c 100644 (file)
@@ -617,8 +617,8 @@ http_callback (gint fd, short what, void *ud)
 /* Start watching event for all maps */
 void
 rspamd_map_watch (struct rspamd_config *cfg,
-               struct rspamd_dns_resolver *resolver,
-               struct event_base *ev_base)
+               struct event_base *ev_base,
+               struct rspamd_dns_resolver *resolver)
 {
        GList *cur = cfg->maps;
        struct rspamd_map *map;
index 80be704e8f4dae751a7cbbb158040ceaaa0bcf33..26a47abf8420a222198808199f2230f15ac35516 100644 (file)
@@ -59,8 +59,8 @@ gboolean rspamd_map_add (struct rspamd_config *cfg,
  * Start watching of maps by adding events to libevent event loop
  */
 void rspamd_map_watch (struct rspamd_config *cfg,
-               struct rspamd_dns_resolver *resolver,
-               struct event_base *ev_base);
+               struct event_base *ev_base,
+               struct rspamd_dns_resolver *resolver);
 
 /**
  * Remove all maps watched (remove events)
index 8f02e12b2485966b2385d3e799602832c764147d..799379c00476af9949ea92f385df284358a8c385 100644 (file)
@@ -390,7 +390,7 @@ start_lua_worker (struct rspamd_worker *worker)
        }
 
        /* Maps events */
-       rspamd_map_watch (worker->srv->cfg, ctx->ev_base);
+       rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver);
 
        event_base_loop (ctx->ev_base, 0);
        rspamd_worker_block_signals ();
index 91f570b62081ddeb5d4208847b4fa144018abaff..a432060e00a2c0e21d361fff6be032bfed51f563 100644 (file)
@@ -414,13 +414,12 @@ start_worker (struct rspamd_worker *worker)
 
        ctx->ev_base = rspamd_prepare_worker (worker, "normal", accept_socket);
        msec_to_tv (ctx->timeout, &ctx->io_tv);
-
-       rspamd_map_watch (worker->srv->cfg, ctx->ev_base);
        rspamd_symbols_cache_start_refresh (worker->srv->cfg->cache, ctx->ev_base);
 
        ctx->resolver = dns_resolver_init (worker->srv->logger,
                        ctx->ev_base,
                        worker->srv->cfg);
+       rspamd_map_watch (worker->srv->cfg, ctx->ev_base, ctx->resolver);
 
        rspamd_upstreams_library_config (worker->srv->cfg, ctx->cfg->ups_ctx,
                        ctx->ev_base, ctx->resolver->r);