Mailing List Archive

svn commit: r491725 - /spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
Author: jm
Date: Mon Jan 1 16:26:40 2007
New Revision: 491725

URL: http://svn.apache.org/viewvc?view=rev&rev=491725
Log:
more efficient eval-glue implementation; the glue methods are global, so use a global hash to track them

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?view=diff&rev=491725&r1=491724&r2=491725
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Mon Jan 1 16:26:40 2007
@@ -59,7 +59,7 @@
use Mail::SpamAssassin::Logger;

use vars qw{
- @ISA @TEMPORARY_METHODS
+ @ISA @TEMPORARY_METHODS %TEMPORARY_EVAL_GLUE_METHODS
};

@ISA = qw();
@@ -67,6 +67,9 @@
# methods defined by the compiled ruleset; deleted in finish_tests()
@TEMPORARY_METHODS = ();

+# methods defined by register_plugin_eval_glue(); deleted in finish_tests()
+%TEMPORARY_EVAL_GLUE_METHODS = ();
+
###########################################################################

sub new {
@@ -1295,6 +1298,7 @@
}
}
@TEMPORARY_METHODS = (); # clear for next time
+ %TEMPORARY_EVAL_GLUE_METHODS = ();
}


@@ -1991,9 +1995,9 @@
return;
}

- # only need to call this once per fn
- return if (exists $self->{register_plugin_eval_glue}->{$function});
- $self->{register_plugin_eval_glue}->{$function} = undef;
+ # only need to call this once per fn (globally)
+ return if exists $TEMPORARY_EVAL_GLUE_METHODS{$function};
+ $TEMPORARY_EVAL_GLUE_METHODS{$function} = undef;

# return if it's not an eval_plugin function
return if (!exists $self->{conf}->{eval_plugins}->{$function});