diff options
author | Brion Vibber <brion@status.net> | 2009-12-14 16:36:01 -0800 |
---|---|---|
committer | Brion Vibber <brion@status.net> | 2009-12-14 16:36:01 -0800 |
commit | b9040a7cc4d9f051f00e3b0d9010971262319d84 (patch) | |
tree | 110e62f8cfc638eb03a3292266af050c84ad7036 /classes/Memcached_DataObject.php | |
parent | 27d0e8f0a411488cd2a09009759078501102c7a1 (diff) |
Add destructor on Memcached_DataObject to free DB_DataObject's global storage for an object when that object itself is destroyed.
Reduces some, but not all, memory leakage for long-running processes.
Diffstat (limited to 'classes/Memcached_DataObject.php')
-rw-r--r-- | classes/Memcached_DataObject.php | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 753fe954e..8fdb56088 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -23,6 +23,17 @@ require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; class Memcached_DataObject extends DB_DataObject { + /** + * Destructor to free global memory resources associated with + * this data object when it's unset or goes out of scope. + * DB_DataObject doesn't do this yet by itself. + */ + function __destruct() + { + $this->free(); + parent::__destruct(); + } + function &staticGet($cls, $k, $v=null) { if (is_null($v)) { |