Stop doing $that = $this in includes/libs
authorRicordisamoa <ricordisamoa@openmailbox.org>
Wed, 10 Feb 2016 17:26:25 +0000 (18:26 +0100)
committerRicordisamoa <ricordisamoa@openmailbox.org>
Wed, 10 Feb 2016 17:26:25 +0000 (18:26 +0100)
Closures support $this as of PHP 5.4

Change-Id: I1b5a5d7e619029684cb8d2a8d150fcc13051c2e0

includes/libs/objectcache/BagOStuff.php

index 3736103..a7e8a47 100644 (file)
@@ -397,18 +397,15 @@ abstract class BagOStuff implements IExpiringStore, LoggerAwareInterface {
                }
 
                $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 ) {
-                               $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
                        }
-                       $that->unlock( $key );
+                       $this->unlock( $key );
                } );
        }