Closures support $this as of PHP 5.4
Change-Id: I1b5a5d7e619029684cb8d2a8d150fcc13051c2e0
}
$lSince = microtime( true ); // lock timestamp
}
$lSince = microtime( true ); // lock timestamp
- // PHP 5.3: Can't use $this in a closure
- $that = $this;
- $logger = $this->logger;
- return new ScopedCallback( function() use ( $that, $logger, $key, $lSince, $expiry ) {
+ return new ScopedCallback( function() use ( $key, $lSince, $expiry ) {
$latency = .050; // latency skew (err towards keeping lock present)
$age = ( microtime( true ) - $lSince + $latency );
if ( ( $age + $latency ) >= $expiry ) {
$latency = .050; // latency skew (err towards keeping lock present)
$age = ( microtime( true ) - $lSince + $latency );
if ( ( $age + $latency ) >= $expiry ) {
- $logger->warning( "Lock for $key held too long ($age sec)." );
+ $this->logger->warning( "Lock for $key held too long ($age sec)." );
return; // expired; it's not "safe" to delete the key
}
return; // expired; it's not "safe" to delete the key
}