summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-26 13:39:37 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-07-26 13:39:37 +0100
commit5275cae7517be59e0b451dbfacf5e5887feff619 (patch)
tree76d98e4a548b6010d4a14a01f1f2e4b71fc312bb
parent2f3820f87e08b2a5ce1c67b59f1d5ef7ea22c99f (diff)
downloadrspamd-5275cae7517be59e0b451dbfacf5e5887feff619.tar.gz
rspamd-5275cae7517be59e0b451dbfacf5e5887feff619.zip
[Fix] Postpone lua state destruction to allow lua dtors to be used
-rw-r--r--src/libserver/cfg_utils.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index f65883c3e..d6dc95527 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -296,11 +296,6 @@ rspamd_config_free (struct rspamd_config *cfg)
rspamd_upstreams_library_unref (cfg->ups_ctx);
g_ptr_array_free (cfg->c_modules, TRUE);
- if (cfg->lua_state && cfg->own_lua_state) {
- lua_thread_pool_free (cfg->lua_thread_pool);
- lua_close (cfg->lua_state);
- }
-
#ifdef WITH_HIREDIS
if (cfg->redis_pool) {
rspamd_redis_pool_destroy (cfg->redis_pool);
@@ -319,6 +314,11 @@ rspamd_config_free (struct rspamd_config *cfg)
g_free (cfg->checksum);
}
+ if (cfg->lua_state && cfg->own_lua_state) {
+ lua_thread_pool_free (cfg->lua_thread_pool);
+ lua_close (cfg->lua_state);
+ }
+
REF_RELEASE (cfg->libs_ctx);
DL_FOREACH_SAFE (cfg->log_pipes, lp, ltmp) {