You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2018/10/02 04:43:54 UTC

svn commit: r1842592 - in /spamassassin/trunk/lib/Mail/SpamAssassin: BayesStore/BDB.pm Message.pm NetSet.pm PerMsgStatus.pm Plugin/Razor2.pm

Author: hege
Date: Tue Oct  2 04:43:54 2018
New Revision: 1842592

URL: http://svn.apache.org/viewvc?rev=1842592&view=rev
Log:
Use env var to check forked process

Modified:
    spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/BDB.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/BDB.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/BDB.pm?rev=1842592&r1=1842591&r2=1842592&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/BDB.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/BayesStore/BDB.pm Tue Oct  2 04:43:54 2018
@@ -77,6 +77,10 @@ sub new {
 
 sub DESTROY {
   my $self = shift;
+
+  # Ignore exiting helper processes (razor_fork etc)
+  return if defined $ENV{'IS_FORKED_HELPER_PROCESS'};
+
   $self->_close_db;
 }
 

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm?rev=1842592&r1=1842591&r2=1842592&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Message.pm Tue Oct  2 04:43:54 2018
@@ -679,6 +679,10 @@ sub finish {
 # temporary files are deleted even if the finish() method is omitted
 sub DESTROY {
   my $self = shift;
+
+  # Ignore exiting helper processes (razor_fork etc)
+  return if defined $ENV{'IS_FORKED_HELPER_PROCESS'};
+
   # best practices: prevent potential calls to eval and to system routines
   # in code of a DESTROY method from clobbering global variables $@ and $! 
   local($@,$!);  # keep outer error handling unaffected by DESTROY

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm?rev=1842592&r1=1842591&r2=1842592&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/NetSet.pm Tue Oct  2 04:43:54 2018
@@ -59,6 +59,10 @@ sub new {
 
 sub DESTROY {
   my($self) = shift;
+
+  # Ignore exiting helper processes (razor_fork etc)
+  return if defined $ENV{'IS_FORKED_HELPER_PROCESS'};
+
   if (exists $self->{cache}) {
     local($@, $!, $_);  # protect outer layers from a potential surprise
     my($hits, $attempts) = ($self->{cache_hits}, $self->{cache_attempts});

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm?rev=1842592&r1=1842591&r2=1842592&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/PerMsgStatus.pm Tue Oct  2 04:43:54 2018
@@ -311,10 +311,10 @@ sub DESTROY {
   my ($self) = shift;
 
   # Ignore exiting helper processes (razor_fork etc)
-  if (!$self->{main}->{is_forked_helper_process}) {
-    local $@;
-    eval { $self->delete_fulltext_tmpfile() };  # Bug 5808
-  }
+  return if defined $ENV{'IS_FORKED_HELPER_PROCESS'};
+
+  local $@;
+  eval { $self->delete_fulltext_tmpfile() };  # Bug 5808
 }
 
 ###########################################################################

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm?rev=1842592&r1=1842591&r2=1842592&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Plugin/Razor2.pm Tue Oct  2 04:43:54 2018
@@ -433,7 +433,7 @@ sub check_razor2 {
   my $pid = fork();
   if (!$pid) {
     # Must be set so DESTROY blocks etc can ignore us when exiting
-    $pms->{main}->{is_forked_helper_process} = 1;
+    $ENV{'IS_FORKED_HELPER_PROCESS'} = 1;
     dbg("razor2: child process $$ forked");
     $pms->{razor2_backchannel}->setup_backchannel_child_post_fork();
     (undef, my @results) =