Changeset 8648


Ignore:
Timestamp:
08/22/10 13:57:59 (18 months ago)
Author:
MichaelTempest
Message:

Item2286: The Foswiki class is spread over many different modules. Some modules put addition fields into the Foswiki session object, and some of those fields were not listed in finish(). I doubt these cause memory leaks, but at least finish() is more accurate now.

I also added an ASSERT that makes sure Foswiki::finish() *stays* accurate.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/core/lib/Foswiki.pm

    r8644 r8648  
    20402040    #} 
    20412041    $_->finish() foreach values %{ $this->{forms} }; 
     2042    undef $this->{forms}; 
    20422043    $this->{plugins}->finish() if $this->{plugins}; 
    20432044    undef $this->{plugins}; 
     
    20712072    undef $this->{_zones}; 
    20722073    undef $this->{_renderZonePlaceholder}; 
     2074 
    20732075    undef $this->{request}; 
     2076    undef $this->{cgiQuery}; 
     2077 
    20742078    undef $this->{digester}; 
    20752079    undef $this->{urlHost}; 
     
    20812085    undef $this->{_EXT2ICON}; 
    20822086    undef $this->{_KNOWNICON}; 
     2087    undef $this->{_ICONSTEMPLATE}; 
    20832088    undef $this->{context}; 
    20842089    undef $this->{remoteUser}; 
     
    20902095    undef $this->{evaluating_if}; 
    20912096    undef $this->{_addedToHEAD}; 
     2097    undef $this->{sandbox}; 
     2098    undef $this->{evaluatingEval}; 
     2099 
     2100    undef $this->{DebugVerificationCode}; # from Foswiki::UI::Register 
     2101 
     2102    if (DEBUG) { 
     2103        my $remaining = join ',', grep {defined $this->{$_}} keys %$this; 
     2104        ASSERT(0, "Fields with defined values in ".ref($this)."->finish(): ". $remaining) if $remaining; 
     2105    } 
    20922106} 
    20932107 
Note: See TracChangeset for help on using the changeset viewer.