Mailing List Archive

svn commit: r1901579 - /spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
Author: hege
Date: Fri Jun 3 05:12:35 2022
New Revision: 1901579

URL: http://svn.apache.org/viewvc?rev=1901579&view=rev
Log:
Minor rule_ready optimization

Modified:
spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=1901579&r1=1901578&r2=1901579&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Fri Jun 3 05:12:35 2022
@@ -3125,13 +3125,13 @@ sub got_hit {
for $tflags_ref->{$rule};
};

- $self->rule_ready($rule, 1); # mark ready for metas
- my $already_hit = $self->{tests_already_hit}->{$rule};
+ my $already_hit = $self->{tests_already_hit}->{$rule} || 0;
# don't count hits multiple times, unless 'tflags multiple' is on
if ($already_hit && ($tflags_ref->{$rule}||'') !~ /\bmultiple\b/) {
return;
}

+ $self->rule_ready($rule, 1); # mark ready for metas
$self->{tests_already_hit}->{$rule} = $already_hit + $value;

# default ruletype, if not specified:
@@ -3189,6 +3189,9 @@ lookups for the rule.
sub rule_ready {
my ($self, $rule, $no_async) = @_;

+ # Ready already?
+ return if exists $self->{tests_already_hit}->{$rule};
+
if (!$no_async && $self->get_async_pending_rules($rule)) {
# Can't be ready if there are pending DNS lookups, ignore for now.
return;