aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
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/plugins
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/plugins')
0 files changed, 0 insertions, 0 deletions