<?php
namespace Claromentis\Core\Lock;

$GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"] = (@$GLOBALS["__65da1b1ec2" . "d6653e8a0ab7" . "848e536215"] ?: array()) + array();
trait AbstractLockTrait
{
    public function doUnderLock(string $key_name, callable $callback)
    {
        $this->acquireLock($key_name);
        try {
            return $callback();
        } finally {
            $this->releaseLock($key_name);
        }
    }
}