diff options
Diffstat (limited to 'src/libserver')
-rw-r--r-- | src/libserver/cfg_utils.c | 18 | ||||
-rw-r--r-- | src/libserver/worker_util.c | 8 | ||||
-rw-r--r-- | src/libserver/worker_util.h | 2 |
3 files changed, 8 insertions, 20 deletions
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c index a50986c80..f5cf5d232 100644 --- a/src/libserver/cfg_utils.c +++ b/src/libserver/cfg_utils.c @@ -642,8 +642,6 @@ rspamd_config_post_load (struct rspamd_config *cfg, struct timespec ts; #endif struct metric *def_metric; - struct rspamd_config_post_load_script *sc; - struct rspamd_config **pcfg; gboolean ret = TRUE; #ifdef HAVE_CLOCK_GETTIME @@ -750,22 +748,6 @@ rspamd_config_post_load (struct rspamd_config *cfg, rspamd_config_libs (cfg->libs_ctx, cfg); } - /* Execute post load scripts */ - LL_FOREACH (cfg->on_load, sc) { - lua_rawgeti (cfg->lua_state, LUA_REGISTRYINDEX, sc->cbref); - pcfg = lua_newuserdata (cfg->lua_state, sizeof (*pcfg)); - *pcfg = cfg; - rspamd_lua_setclass (cfg->lua_state, "rspamd{config}", -1); - - if (lua_pcall (cfg->lua_state, 1, 0, 0) != 0) { - msg_err_config ("error executing post load code: %s", - lua_tostring (cfg->lua_state, -1)); - lua_pop (cfg->lua_state, 1); - - return FALSE; - } - } - /* Validate cache */ if (opts & RSPAMD_CONFIG_INIT_VALIDATE) { return rspamd_symbols_cache_validate (cfg->cache, cfg, FALSE) && ret; diff --git a/src/libserver/worker_util.c b/src/libserver/worker_util.c index 80fec531c..056177e1c 100644 --- a/src/libserver/worker_util.c +++ b/src/libserver/worker_util.c @@ -257,7 +257,7 @@ rspamd_worker_init_signals (struct rspamd_worker *worker, struct event_base *bas struct event_base * rspamd_prepare_worker (struct rspamd_worker *worker, const char *name, - void (*accept_handler)(int, short, void *)) + void (*accept_handler)(int, short, void *), gboolean load_lua) { struct event_base *ev_base; struct event *accept_events; @@ -301,6 +301,12 @@ rspamd_prepare_worker (struct rspamd_worker *worker, const char *name, } } + if (load_lua) { + struct rspamd_config *cfg = worker->srv->cfg; + + rspamd_lua_run_postloads (cfg->lua_state, cfg, ev_base); + } + return ev_base; } diff --git a/src/libserver/worker_util.h b/src/libserver/worker_util.h index 9d129f140..63a18a4fe 100644 --- a/src/libserver/worker_util.h +++ b/src/libserver/worker_util.h @@ -40,7 +40,7 @@ struct rspamd_worker_signal_handler; */ struct event_base * rspamd_prepare_worker (struct rspamd_worker *worker, const char *name, - void (*accept_handler)(int, short, void *)); + void (*accept_handler)(int, short, void *), gboolean load_lua); /** * Set special signal handler for a worker |