diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-07-26 13:39:37 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-07-26 13:39:37 +0100 |
commit | 5275cae7517be59e0b451dbfacf5e5887feff619 (patch) | |
tree | 76d98e4a548b6010d4a14a01f1f2e4b71fc312bb | |
parent | 2f3820f87e08b2a5ce1c67b59f1d5ef7ea22c99f (diff) | |
download | rspamd-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.c | 10 |
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) { |