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/12/16 22:33:52 UTC
svn commit: r604715 -
/spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm
Author: jm
Date: Sun Dec 16 13:33:52 2007
New Revision: 604715
URL: http://svn.apache.org/viewvc?rev=604715&view=rev
Log:
bug 5557: some temporary files are left not cleaned up on Windows; fix
Modified:
spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm
Modified: spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm?rev=604715&r1=604714&r2=604715&view=diff
==============================================================================
--- spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm (original)
+++ spamassassin/branches/3.2/lib/Mail/SpamAssassin/Message.pm Sun Dec 16 13:33:52 2007
@@ -524,12 +524,6 @@
# Clean ourself up
$self->finish_metadata();
- # delete temporary files
- if ($self->{'tmpfiles'}) {
- unlink @{$self->{'tmpfiles'}};
- delete $self->{'tmpfiles'};
- }
-
# These will only be in the root Message node
delete $self->{'mime_boundary_state'};
delete $self->{'mbox_sep'};
@@ -543,6 +537,11 @@
# Go ahead and clean up all of the Message::Node parts
while (my $part = shift @toclean) {
+ # bug 5557: windows requires tmp file be closed before it can be rm'd
+ if (ref $part->{'raw'} eq 'GLOB') {
+ close ($part->{'raw'});
+ }
+
delete $part->{'headers'};
delete $part->{'raw_headers'};
delete $part->{'header_order'};
@@ -559,6 +558,12 @@
push(@toclean, @{$part->{'body_parts'}});
delete $part->{'body_parts'};
}
+ }
+
+ # delete temporary files
+ if ($self->{'tmpfiles'}) {
+ unlink @{$self->{'tmpfiles'}};
+ delete $self->{'tmpfiles'};
}
}