You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2007/01/02 01:26:40 UTC

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});