aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@rspamd.com>2023-05-25 14:41:30 +0100
committerVsevolod Stakhov <vsevolod@rspamd.com>2023-05-25 14:41:30 +0100
commit95070f959420a871dff813669f809c345993e5e9 (patch)
tree87259c4fabcec99ab9c4580126d6e3f08a685083 /src/lua/lua_common.c
parent9a6924f90aaeb6f693c83257c04208216a138ef7 (diff)
downloadrspamd-95070f959420a871dff813669f809c345993e5e9.tar.gz
rspamd-95070f959420a871dff813669f809c345993e5e9.zip
[Fix] Fix an old issue with order of destruction race between redis pool and lua
Diffstat (limited to 'src/lua/lua_common.c')
-rw-r--r--src/lua/lua_common.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c
index db7e284ee..7f4453c57 100644
--- a/src/lua/lua_common.c
+++ b/src/lua/lua_common.c
@@ -918,6 +918,8 @@ rspamd_lua_wipe_realloc (void *ud,
extern int luaopen_bit(lua_State *L);
#endif
+static bool lua_initialized = false;
+
lua_State *
rspamd_lua_init (bool wipe_mem)
{
@@ -1039,6 +1041,8 @@ rspamd_lua_init (bool wipe_mem)
lua_setglobal (L, "get_traces");
#endif
+ lua_initialized = true;
+
return L;
}
@@ -1063,6 +1067,14 @@ rspamd_lua_close (lua_State *L)
DL_DELETE(rspamd_lua_global_ctx, ctx);
kh_destroy(lua_class_set, ctx->classes);
g_free(ctx);
+
+ lua_initialized = false;
+}
+
+bool
+rspamd_lua_is_initialised(void)
+{
+ return lua_initialized;
}
void