From e6732e360d8ca4cfe9a3b979b54a2c108071fb8e Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Mon, 25 Jul 2016 19:39:26 -0700 Subject: [PATCH] Clean up forEachOpenConnection() loop and use the method more Change-Id: I431b68c763970101804e09ea6634480e1ba79cda --- includes/db/loadbalancer/LoadBalancer.php | 31 ++++++++--------------- 1 file changed, 11 insertions(+), 20 deletions(-) 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 ); } -- 2.20.1