aboutsummaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/lua_common.c')
-rw-r--r--src/lua/lua_common.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/lua/lua_common.c b/src/lua/lua_common.c
index 1a5cf117f..6502acd68 100644
--- a/src/lua/lua_common.c
+++ b/src/lua/lua_common.c
@@ -995,13 +995,20 @@ rspamd_lua_init (bool wipe_mem)
lua_setglobal (L, "get_traces");
#endif
+ return L;
+}
+
+void
+rspamd_lua_start_gc (struct rspamd_config *cfg)
+{
+ lua_State *L = (lua_State *)cfg->lua_state;
+
+ lua_settop (L, 0);
/* Set up GC */
lua_gc (L, LUA_GCCOLLECT, 0);
- lua_gc (L, LUA_GCSETSTEPMUL, 50);
- lua_gc (L, LUA_GCSETPAUSE, 400);
+ lua_gc (L, LUA_GCSETSTEPMUL, cfg->lua_gc_step);
+ lua_gc (L, LUA_GCSETPAUSE, cfg->lua_gc_pause);
lua_gc (L, LUA_GCRESTART, 0);
-
- return L;
}
/**