From 763835888879721961d047ba112c8542a7f558f0 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Tue, 14 Nov 2017 18:58:17 +0000 Subject: [Feature] Check cached maps more frequently --- src/libutil/map.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/libutil/map.c b/src/libutil/map.c index 5e90886b5..fdaecc3ae 100644 --- a/src/libutil/map.c +++ b/src/libutil/map.c @@ -1589,6 +1589,15 @@ rspamd_map_watch (struct rspamd_config *cfg, struct event_base *ev_base, map->active_http = active_http; } + if (!map->active_http) { + /* Check cached version more frequently as it is cheap */ + + if (map->poll_timeout >= cfg->map_timeout && + cfg->map_file_watch_multiplier < 1.0) { + map->poll_timeout = map->poll_timeout * cfg->map_file_watch_multiplier; + } + } + rspamd_map_schedule_periodic (map, FALSE, TRUE, FALSE); cur = g_list_next (cur); @@ -2018,7 +2027,8 @@ rspamd_map_add_from_ucl (struct rspamd_config *cfg, if (bk != NULL) { if (bk->protocol == MAP_PROTO_FILE) { - map->poll_timeout = (map->poll_timeout * cfg->map_file_watch_multiplier); + map->poll_timeout = (map->poll_timeout * + cfg->map_file_watch_multiplier); } g_ptr_array_add (map->backends, bk); -- cgit v1.2.3