]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Fix filters processing
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 7 May 2022 12:33:35 +0000 (13:33 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 7 May 2022 12:33:35 +0000 (13:33 +0100)
src/libserver/symcache/symcache_runtime.cxx

index 1e334230b423fbbc6529f5c497a65a35f0e6d524..401cdb02771eab0e2eb69b056ba590c2addb4ec3 100644 (file)
@@ -424,7 +424,7 @@ symcache_runtime::process_filters(struct rspamd_task *task, symcache &cache, int
        auto all_done = true;
 
        for (const auto [idx, item] : rspamd::enumerate(order->d)) {
-               if (item->type == symcache_item_type::CLASSIFIER) {
+               if (item->type == symcache_item_type::CLASSIFIER || item->type == symcache_item_type::COMPOSITE) {
                        continue;
                }
 
@@ -438,7 +438,7 @@ symcache_runtime::process_filters(struct rspamd_task *task, symcache &cache, int
                                msg_debug_cache_task("blocked execution of %d(%s) unless deps are "
                                                                         "resolved", item->id, item->symbol.c_str());
 
-                               break;
+                               continue;
                        }
 
                        process_symbol(task, cache, item.get(), dyn_item);
@@ -447,7 +447,7 @@ symcache_runtime::process_filters(struct rspamd_task *task, symcache &cache, int
                                /* Delay */
                                has_slow = false;
 
-                               break;
+                               return false;
                        }
                }