From 0255658424238a6f9356031c5ab0ddf449bccc9a Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Sat, 24 Jul 2004 08:33:37 +0000 Subject: [PATCH] improvements to error handling --- includes/LoadBalancer.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/includes/LoadBalancer.php b/includes/LoadBalancer.php index adefa2ab1e..fc9e9a4b6d 100644 --- a/includes/LoadBalancer.php +++ b/includes/LoadBalancer.php @@ -109,15 +109,15 @@ class LoadBalancer { if ( $i !== false ) { wfDebug( "Using reader #$i: {$this->mServers[$i]['host']}\n" ); - $conn =& $this->getConnection( $i ); - $this->mConnections[$i] =& $conn; + $this->getConnection( $i ); - if ( !$conn->isOpen() ) { + if ( !$this->isOpen( $i ) ) { unset( $loads[$i] ); } } - } while ( $i !== false && !$conn->isOpen() ); - if ( $conn->isOpen() ) { + } while ( $i !== false && !$this->isOpen( $i ) ); + + if ( $this->isOpen( $i ) ) { $this->mReadIndex = $i; } else { $i = false; @@ -237,7 +237,9 @@ class LoadBalancer { } /* private */ function isOpen( $index ) { - if ( array_key_exists( $index, $this->mConnections ) && $this->mConnections[$index]->isOpen() ) { + if ( array_key_exists( $index, $this->mConnections ) && is_object( $this->mConnections[$index] ) && + $this->mConnections[$index]->isOpen() ) + { return true; } else { return false; -- 2.20.1