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) =