mirror of
https://github.com/php/php-src.git
synced 2024-12-14 04:16:30 +08:00
45 lines
598 B
PHP
45 lines
598 B
PHP
--TEST--
|
|
Bug #47343 (gc_collect_cycles causes a segfault when called within a destructor in one case)
|
|
--FILE--
|
|
<?php
|
|
class A
|
|
{
|
|
public function __destruct()
|
|
{
|
|
gc_collect_cycles();
|
|
}
|
|
|
|
public function getB()
|
|
{
|
|
$this->data['foo'] = new B($this);
|
|
$this->data['bar'] = new B($this);
|
|
// Return either of the above
|
|
return $this->data['foo'];
|
|
}
|
|
}
|
|
|
|
class B
|
|
{
|
|
public function __construct($A)
|
|
{
|
|
$this->A = $A;
|
|
}
|
|
|
|
public function __destruct()
|
|
{
|
|
}
|
|
}
|
|
|
|
for ($i = 0; $i < 2; $i++)
|
|
{
|
|
$Aobj = new A;
|
|
$Bobj = $Aobj->getB();
|
|
unset($Bobj);
|
|
unset($Aobj);
|
|
}
|
|
|
|
echo "DONE\n";
|
|
?>
|
|
--EXPECT--
|
|
DONE
|