diff options
author | Vsevolod Stakhov <vsevolod@rspamd.com> | 2023-05-25 14:41:30 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@rspamd.com> | 2023-05-25 14:41:30 +0100 |
commit | 95070f959420a871dff813669f809c345993e5e9 (patch) | |
tree | 87259c4fabcec99ab9c4580126d6e3f08a685083 /src/lua/lua_common.c | |
parent | 9a6924f90aaeb6f693c83257c04208216a138ef7 (diff) | |
download | rspamd-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.c | 12 |
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 |