diff options
author | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-05-10 17:40:39 +0100 |
---|---|---|
committer | Vsevolod Stakhov <vsevolod@highsecure.ru> | 2019-05-10 17:40:39 +0100 |
commit | b218ec15bdae237f5ec9f23821239c29e2d3757d (patch) | |
tree | 8c4ccd4c745c7590497e44cc3b16832b2a4657cb /src/lua | |
parent | bc8a0fe1d5f55e6ec47200028a027d1843d6306d (diff) | |
download | rspamd-b218ec15bdae237f5ec9f23821239c29e2d3757d.tar.gz rspamd-b218ec15bdae237f5ec9f23821239c29e2d3757d.zip |
[Minor] Allow to tune GC related options
Diffstat (limited to 'src/lua')
-rw-r--r-- | src/lua/lua_cfg_file.c | 2 | ||||
-rw-r--r-- | src/lua/lua_common.c | 15 | ||||
-rw-r--r-- | src/lua/lua_common.h | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/src/lua/lua_cfg_file.c b/src/lua/lua_cfg_file.c index efd8c8820..26e9811bd 100644 --- a/src/lua/lua_cfg_file.c +++ b/src/lua/lua_cfg_file.c @@ -137,4 +137,6 @@ rspamd_lua_post_load_config (struct rspamd_config *cfg) } lua_settop (L, 0); + + rspamd_lua_start_gc (cfg); } 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; } /** diff --git a/src/lua/lua_common.h b/src/lua/lua_common.h index 0745d2ac3..214fffca6 100644 --- a/src/lua/lua_common.h +++ b/src/lua/lua_common.h @@ -167,7 +167,7 @@ gpointer rspamd_lua_check_class (lua_State *L, gint index, const gchar *name); */ lua_State *rspamd_lua_init (bool wipe_mem); - +void rspamd_lua_start_gc (struct rspamd_config *cfg); /** * Sets field in a global variable * @param L |