]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Stop libevent from using cached time in rspamadm
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 8 Oct 2018 16:15:19 +0000 (17:15 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 8 Oct 2018 16:31:43 +0000 (17:31 +0100)
src/rspamadm/lua_repl.c
src/rspamadm/rspamadm.c

index 81dba946abd4f609e770f146e221270499f7e68d..2df02a9de3fecd0920bb24a3b8e483a82a07d976 100644 (file)
@@ -803,7 +803,7 @@ rspamadm_lua (gint argc, gchar **argv, const struct rspamadm_command *cmd)
                        exit (EXIT_FAILURE);
                }
 
-               ev_base = event_init ();
+               ev_base = rspamd_main->ev_base;
                ctx = g_malloc0  (sizeof (*ctx));
                http = rspamd_http_router_new (rspamadm_lua_error_handler,
                                                rspamadm_lua_finish_handler,
index c981d243cbf9db6498c63debbdd9178d21d14e54..301fa168fe8d5c7abffbb56cabce05775e8e4eca 100644 (file)
@@ -368,7 +368,15 @@ main (gint argc, gchar **argv, gchar **env)
        rspamd_main->type = process_quark;
        rspamd_main->server_pool = rspamd_mempool_new (rspamd_mempool_suggest_size (),
                        "rspamadm");
+
+#ifdef HAVE_EVENT_NO_CACHE_TIME_FLAG
+       struct event_config *ev_cfg;
+       ev_cfg = event_config_new ();
+       event_config_set_flag (ev_cfg, EVENT_BASE_FLAG_NO_CACHE_TIME);
+       rspamd_main->ev_base = event_base_new_with_config (ev_cfg);
+#else
        rspamd_main->ev_base = event_init ();
+#endif
 
        rspamadm_fill_internal_commands (all_commands);
        help_command.command_data = all_commands;
@@ -537,6 +545,9 @@ main (gint argc, gchar **argv, gchar **env)
        }
 
        event_base_loopexit (rspamd_main->ev_base, NULL);
+#ifdef HAVE_EVENT_NO_CACHE_TIME_FLAG
+       event_config_free (ev_cfg);
+#endif
 
        REF_RELEASE (rspamd_main->cfg);
        rspamd_log_close (rspamd_main->logger, TRUE);