aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserver/dynamic_cfg.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-02-28 11:58:14 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-02-28 11:58:14 +0000
commitf309a84d17bce0456f369b693ae270288e72892f (patch)
tree4046a179935d8982b58ad14eec927ed40640dfd1 /src/libserver/dynamic_cfg.c
parent512d64b8f33e09908a574b48fcce4c06bb97e4bd (diff)
downloadrspamd-f309a84d17bce0456f369b693ae270288e72892f.tar.gz
rspamd-f309a84d17bce0456f369b693ae270288e72892f.zip
[CritFix] Fix issue with inconsistent resorting
This is a long term issue that was in rspamd for many years. Sometimes, some rules are not scanned or scanned twice. That happened because of resorting called during pending tasks exist in the wait queue. In this case, resorting breaks logic of symbols processing, causing unprocessed rules to be treated as processed and, vice versa, processed rules as unprocessed. This commit introduces refcounted approach for resorting keeping state for each individual task. This allows to resort independently from the existing tasks waiting in the queue.
Diffstat (limited to 'src/libserver/dynamic_cfg.c')
0 files changed, 0 insertions, 0 deletions