Autorelease callback.

This commit is contained in:
resurtm
2013-06-25 07:24:57 +06:00
parent 90227bd344
commit 33adfcea91

View File

@ -34,10 +34,11 @@ abstract class Mutex extends Component
{
if ($this->autoRelease) {
$referenceHolder = new stdClass();
$referenceHolder->mutex = &$this;
$referenceHolder->locks = &$this->_locks;
register_shutdown_function(function ($ref) {
foreach ($ref->locks as $lock) {
$this->release($lock);
$ref->mutex->release($lock);
}
}, $referenceHolder);
}