Ok, the subject probably doesn't make much sense because of the lack of my proper english ;)
Anyway, consider this: <? class bar { function bar($parent) { $this->parent = &$parent; } } class foo { var $num = 0; function foo() { $this->bar = new bar(&$this); $this->num = 1; } function call() { echo "I'm foo\n"; } } $f = new foo; $f->bar->parent->call(); echo $f->bar->parent->num . "\n"; ?> It works ... mfischer@debian:~$ php -f src/php/oo.php I'm foo 1 ... but ... ./zend_execute.c(467) : Freeing 0x082F96A4 (12 bytes), script=src/php/oo.php zend_hash.c(260) : Freeing 0x082F79A4 (42 bytes), script=src/php/oo.php Last leak repeated 2 times zend_API.c(593) : Freeing 0x082F77A4 (44 bytes), script=src/php/oo.php zend_API.c(581) : Actual location (location was relayed) Last leak repeated 1 time ./zend_execute.c(1948) : Freeing 0x082F9664 (12 bytes), script=src/php/oo.php Last leak repeated 1 time zend_hash.c(176) : Freeing 0x082EEFA4 (32 bytes), script=src/php/oo.php Last leak repeated 1 time on shutdown. If I remove the reference operator (thus make a copy of the object [which I don't want]) at any point there is no leak. - Markus ps: na don't tell me this is a known issue :-) -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]