From: Aaron Schulz Date: Tue, 26 Jul 2016 02:39:26 +0000 (-0700) Subject: Clean up forEachOpenConnection() loop and use the method more X-Git-Tag: 1.31.0-rc.0~6251 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/ajouter.php?a=commitdiff_plain;h=e6732e360d8ca4cfe9a3b979b54a2c108071fb8e;p=lhc%2Fweb%2Fwiklou.git Clean up forEachOpenConnection() loop and use the method more Change-Id: I431b68c763970101804e09ea6634480e1ba79cda --- diff --git a/includes/db/loadbalancer/LoadBalancer.php b/includes/db/loadbalancer/LoadBalancer.php index d9a7381516..e64100f003 100644 --- a/includes/db/loadbalancer/LoadBalancer.php +++ b/includes/db/loadbalancer/LoadBalancer.php @@ -1004,14 +1004,10 @@ class LoadBalancer { * Close all open connections */ public function closeAll() { - foreach ( $this->mConns as $conns2 ) { - foreach ( $conns2 as $conns3 ) { - /** @var DatabaseBase $conn */ - foreach ( $conns3 as $conn ) { - $conn->close(); - } - } - } + $this->forEachOpenConnection( function ( DatabaseBase $conn ) { + $conn->close(); + } ); + $this->mConns = [ 'local' => [], 'foreignFree' => [], @@ -1305,16 +1301,11 @@ class LoadBalancer { */ public function pingAll() { $success = true; - foreach ( $this->mConns as $conns2 ) { - foreach ( $conns2 as $conns3 ) { - /** @var DatabaseBase[] $conns3 */ - foreach ( $conns3 as $conn ) { - if ( !$conn->ping() ) { - $success = false; - } - } + $this->forEachOpenConnection( function ( DatabaseBase $conn ) use ( &$success ) { + if ( !$conn->ping() ) { + $success = false; } - } + } ); return $success; } @@ -1325,9 +1316,9 @@ class LoadBalancer { * @param array $params */ public function forEachOpenConnection( $callback, array $params = [] ) { - foreach ( $this->mConns as $conns2 ) { - foreach ( $conns2 as $conns3 ) { - foreach ( $conns3 as $conn ) { + foreach ( $this->mConns as $connsByServer ) { + foreach ( $connsByServer as $serverConns ) { + foreach ( $serverConns as $conn ) { $mergedParams = array_merge( [ $conn ], $params ); call_user_func_array( $callback, $mergedParams ); }