D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
epaji.com
/
public_html
/
hindiusa
/
vendor
/
yiisoft
/
yii2
/
mutex
/
Filename :
RetryAcquireTrait.php
back
Copy
<?php /** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */ namespace yii\mutex; use Closure; /** * Trait RetryAcquireTrait. * * @author Robert Korulczyk <robert@korulczyk.pl> * @internal * @since 2.0.16 */ trait RetryAcquireTrait { /** * @var int Number of milliseconds between each try in [[acquire()]] until specified timeout times out. * By default it is 50 milliseconds - it means that [[acquire()]] may try acquire lock up to 20 times per second. * @since 2.0.16 */ public $retryDelay = 50; private function retryAcquire($timeout, Closure $callback) { $start = microtime(true); do { if ($callback()) { return true; } usleep($this->retryDelay * 1000); } while (microtime(true) - $start < $timeout); return false; } }