Backed out memory leak workaround, bumped Text::ASCIITable dep to 0.17
Andy Grundman [Mon, 26 Sep 2005 23:40:24 +0000 (23:40 +0000)]
Build.PL
Changes
lib/Catalyst/Dispatcher.pm
lib/Catalyst/Engine.pm
lib/Catalyst/Setup.pm

index af77ef5..0f8b5f9 100644 (file)
--- a/Build.PL
+++ b/Build.PL
@@ -20,7 +20,7 @@ my $build = Module::Build->new(
         'Module::Pluggable::Fast'           => 0.16,
         'Path::Class'                       => 0.09,
         'Template'                          => 0,
-        'Text::ASCIITable'                  => 0,
+        'Text::ASCIITable'                  => 0.17,
         'Tree::Simple'                      => 0,
         'Tree::Simple::Visitor::FindByPath' => 0,
         'URI'                               => 0,
diff --git a/Changes b/Changes
index 6292496..126efae 100644 (file)
--- a/Changes
+++ b/Changes
@@ -6,8 +6,7 @@ This file documents the revision history for Perl extension Catalyst.
         - Fixed bug in dispatcher where an invalid path could call a valid
           action. (Andy Grundman)
         - Fixed Helper so it works with CRLF line-endings. (Andy Grundman)
-        - Added workaround for debug mode memory leak in Text::ASCIITable.
-          (Andy Grundman)
+        - Require Text::ASCIITable 0.17 to fix memory leak in debug mode.
 
 5.33  2005-08-10 15:25:00
         - Now with updated manifest.
index 99bbba7..cb01934 100644 (file)
@@ -428,7 +428,6 @@ sub setup_actions {
 
     my $actions  = $self->actions;
     my $privates = Text::ASCIITable->new;
-    undef $privates->{tiedarr};    # work-around for a memory leak
     $privates->setCols( 'Private', 'Class' );
     $privates->setColWidth( 'Private', 36, 1 );
     $privates->setColWidth( 'Class',   37, 1 );
@@ -452,7 +451,6 @@ sub setup_actions {
       if ( @{ $privates->{tbl_rows} } );
 
     my $publics = Text::ASCIITable->new;
-    undef $publics->{tiedarr};    # work-around for a memory leak
     $publics->setCols( 'Public', 'Private' );
     $publics->setColWidth( 'Public',  36, 1 );
     $publics->setColWidth( 'Private', 37, 1 );
@@ -468,7 +466,6 @@ sub setup_actions {
       if ( @{ $publics->{tbl_rows} } );
 
     my $regexes = Text::ASCIITable->new;
-    undef $regexes->{tiedarr};    # work-around for a memory leak
     $regexes->setCols( 'Regex', 'Private' );
     $regexes->setColWidth( 'Regex',   36, 1 );
     $regexes->setColWidth( 'Private', 37, 1 );
index 36b839b..de7e082 100644 (file)
@@ -419,7 +419,6 @@ sub handler {
             my $av = sprintf '%.3f',
               ( $elapsed == 0 ? '??' : ( 1 / $elapsed ) );
             my $t = Text::ASCIITable->new;
-            undef $t->{tiedarr};    # work-around for a memory leak
             $t->setCols( 'Action', 'Time' );
             $t->setColWidth( 'Action', 64, 1 );
             $t->setColWidth( 'Time',   9,  1 );
@@ -520,7 +519,6 @@ sub prepare {
 
     if ( $c->debug && keys %{ $c->req->params } ) {
         my $t = Text::ASCIITable->new;
-        undef $t->{tiedarr};    # work-around for a memory leak
         $t->setCols( 'Key', 'Value' );
         $t->setColWidth( 'Key',   37, 1 );
         $t->setColWidth( 'Value', 36, 1 );
index 00baaef..be83e17 100644 (file)
@@ -95,7 +95,6 @@ sub setup {
 
         if ( @plugins ) {
             my $t = Text::ASCIITable->new;
-            undef $t->{tiedarr};    # work-around for a memory leak
             $t->setOptions( 'hide_HeadRow',  1 );
             $t->setOptions( 'hide_HeadLine', 1 );
             $t->setCols('Class');
@@ -128,7 +127,6 @@ sub setup {
 
     if ( $class->debug ) {
         my $t = Text::ASCIITable->new;
-        undef $t->{tiedarr};    # work-around for a memory leak
         $t->setOptions( 'hide_HeadRow',  1 );
         $t->setOptions( 'hide_HeadLine', 1 );
         $t->setCols('Class');