summaryrefslogtreecommitdiff
path: root/inc/parser
diff options
context:
space:
mode:
authorChristopher Smith <chris@jalakai.co.uk>2011-02-06 15:16:10 +0000
committerChristopher Smith <chris@jalakai.co.uk>2011-02-06 15:16:10 +0000
commit3893df8e5068f411ba16c2e37096e47c4ad102f2 (patch)
tree14f4ac451782f8867bca9db433d00e7ee650a508 /inc/parser
parentc34c77725873a495f375a815dd89be723cd2a512 (diff)
downloadrpg-3893df8e5068f411ba16c2e37096e47c4ad102f2.tar.gz
rpg-3893df8e5068f411ba16c2e37096e47c4ad102f2.tar.bz2
FS#2154 unset call writers in finalise() to prevent circular references
and help PHP garbage collection for PHP < 5.3
Diffstat (limited to 'inc/parser')
-rw-r--r--inc/parser/handler.php6
1 files changed, 6 insertions, 0 deletions
diff --git a/inc/parser/handler.php b/inc/parser/handler.php
index 4d0b56b44..85a353dca 100644
--- a/inc/parser/handler.php
+++ b/inc/parser/handler.php
@@ -720,6 +720,7 @@ class Doku_Handler_CallWriter {
// function is required, but since this call writer is first/highest in
// the chain it is not required to do anything
function finalise() {
+ unset($this->Handler);
}
}
@@ -764,6 +765,7 @@ class Doku_Handler_Nest {
$this->process();
$this->CallWriter->finalise();
+ unset($this->CallWriter);
}
function process() {
@@ -817,6 +819,7 @@ class Doku_Handler_List {
$this->process();
$this->CallWriter->finalise();
+ unset($this->CallWriter);
}
//------------------------------------------------------------------------
@@ -1014,6 +1017,7 @@ class Doku_Handler_Preformatted {
$this->process();
$this->CallWriter->finalise();
+ unset($this->CallWriter);
}
function process() {
@@ -1070,6 +1074,7 @@ class Doku_Handler_Quote {
$this->process();
$this->CallWriter->finalise();
+ unset($this->CallWriter);
}
function process() {
@@ -1165,6 +1170,7 @@ class Doku_Handler_Table {
$this->process();
$this->CallWriter->finalise();
+ unset($this->CallWriter);
}
//------------------------------------------------------------------------