You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by fe...@apache.org on 2004/04/29 01:35:55 UTC

svn commit: rev 10387 - in incubator/spamassassin/trunk/lib/Mail/SpamAssassin: . BayesStore

Author: felicity
Date: Wed Apr 28 16:35:55 2004
New Revision: 10387

Modified:
   incubator/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm
   incubator/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm
Log:
if the first bayes tie succeeds, but the second fails, we don't untie the first.  also, extra cleanup in permsglearner...

Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm	(original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/DBM.pm	Wed Apr 28 16:35:55 2004
@@ -166,6 +166,13 @@
 
 failed_to_tie:
   warn "Cannot open bayes databases ${path}_* R/O: tie failed: $!\n";
+  foreach my $dbname (@DBNAMES) {
+    my $db_var = 'db_'.$dbname;
+    next unless exists $self->{$db_var};
+    dbg("bayes: $$ untie-ing DB file $dbname");
+    untie %{$self->{$db_var}};
+  }
+
   return 0;
 }
 
@@ -259,6 +266,14 @@
 failed_to_tie:
   my $err = $!;
   umask $umask;
+
+  foreach my $dbname (@DBNAMES) {
+    my $db_var = 'db_'.$dbname;
+    next unless exists $self->{$db_var};
+    dbg("bayes: $$ untie-ing DB file $dbname");
+    untie %{$self->{$db_var}};
+  }       
+
   if ($self->{is_locked}) {
     $self->{bayes}->{main}->{locker}->safe_unlock ($self->{locked_file});
     $self->{is_locked} = 0;

Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm	(original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgLearner.pm	Wed Apr 28 16:35:55 2004
@@ -174,6 +174,7 @@
   delete $self->{main};
   delete $self->{msg};
   delete $self->{conf};
+  delete $self->{bayes_scanner};
 }
 
 ###########################################################################