Update of /cvsroot/lxr/lxr/lib/LXR
In directory usw-pr-cvs1:/tmp/cvs-serv2345
Modified Files:
Tagger.pm
Log Message:
Fix memory leak in genxref by undef'ing variables
Index: Tagger.pm
===================================================================
RCS file: /cvsroot/lxr/lxr/lib/LXR/Tagger.pm,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** Tagger.pm 2001/07/26 08:49:38 1.16
--- Tagger.pm 2001/08/15 15:27:24 1.17
***************
*** 25,44 ****
if ($index) {
! my $fileid = $index->fileid($pathname, $revision);
!
! $index->release($fileid, $release);
!
! if ($index->toindex($fileid)) {
! $index->empty_cache();
! print(STDERR "--- $pathname $fileid\n");
!
! my $path = $files->tmpfile($pathname, $release);
!
! $lang->indexfile($pathname, $path, $fileid, $index, $config);
! unlink($path);
! } else {
! print(STDERR "$pathname was already indexed\n");
! }
} else { print(STDERR " **** FAILED ****\n"); }
}
--- 25,46 ----
if ($index) {
! my $fileid = $index->fileid($pathname, $revision);
!
! $index->release($fileid, $release);
!
! if ($index->toindex($fileid)) {
! $index->empty_cache();
! print(STDERR "--- $pathname $fileid\n");
!
! my $path = $files->tmpfile($pathname, $release);
!
! $lang->indexfile($pathname, $path, $fileid, $index, $config);
! unlink($path);
! } else {
! print(STDERR "$pathname was already indexed\n");
! }
} else { print(STDERR " **** FAILED ****\n"); }
+ $lang = undef;
+ $revision = undef;
}
***************
*** 57,76 ****
print(STDERR "--- $pathname $release $revision\n");
! if ($index) {
! my $fileid = $index->fileid($pathname, $revision);
!
! if ($index->toreference($fileid)) {
$index->empty_cache();
print(STDERR "--- $pathname $fileid\n");
!
my $path = $files->tmpfile($pathname, $release);
!
$lang->referencefile($pathname, $path, $fileid, $index, $config);
unlink($path);
! } else {
print STDERR "$pathname was already referenced\n";
! }
! } else { print( STDERR " **** FAILED ****\n"); }
! }
--- 59,81 ----
print(STDERR "--- $pathname $release $revision\n");
! if ($index) {
! my $fileid = $index->fileid($pathname, $revision);
!
! if ($index->toreference($fileid)) {
$index->empty_cache();
print(STDERR "--- $pathname $fileid\n");
!
my $path = $files->tmpfile($pathname, $release);
!
$lang->referencefile($pathname, $path, $fileid, $index, $config);
unlink($path);
! } else {
print STDERR "$pathname was already referenced\n";
! }
! } else { print( STDERR " **** FAILED ****\n"); }
!
! $lang = undef;
! $revision = undef;
! }
|