summaryrefslogtreecommitdiffstats
path: root/src/lua/lua_common.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-05-10 17:40:39 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-05-10 17:40:39 +0100
commitb218ec15bdae237f5ec9f23821239c29e2d3757d (patch)
tree8c4ccd4c745c7590497e44cc3b16832b2a4657cb /src/lua/lua_common.c
parentbc8a0fe1d5f55e6ec47200028a027d1843d6306d (diff)
downloadrspamd-b218ec15bdae237f5ec9f23821239c29e2d3757d.tar.gz
rspamd-b218ec15bdae237f5ec9f23821239c29e2d3757d.zip
[Minor] Allow to tune GC related options
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;
}
/**