From a134efa393b03ca5652507c8cba65d140ca391d0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roland=20H=C3=A4der?= Date: Wed, 8 Jul 2009 19:58:49 +0000 Subject: [PATCH] shutdownSocket() method stub added --- .../main/listener/tcp/class_TcpListener.php | 24 ++++++++++++++++--- .../pools/client/class_DefaultClientPool.php | 10 ++++++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/application/hub/main/listener/tcp/class_TcpListener.php b/application/hub/main/listener/tcp/class_TcpListener.php index 9e6f3f866..f9fc62142 100644 --- a/application/hub/main/listener/tcp/class_TcpListener.php +++ b/application/hub/main/listener/tcp/class_TcpListener.php @@ -82,8 +82,14 @@ class TcpListener extends BaseListener implements Listenable { // Get socket error code for verification $socketError = socket_last_error($mainSocket); + // Get error message + $errorMessage = socket_strerror($socketError); + + // Shutdown this socket + $this->shutdownSocket($mainSocket); + // And throw again - throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, socket_strerror($socketError)), BaseListener::EXCEPTION_INVALID_SOCKET); + throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET); } // END - if // "Bind" the socket to the given address, on given port so this means @@ -93,8 +99,14 @@ class TcpListener extends BaseListener implements Listenable { // Get socket error code for verification $socketError = socket_last_error($mainSocket); + // Get error message + $errorMessage = socket_strerror($socketError); + + // Shutdown this socket + $this->shutdownSocket($mainSocket); + // And throw again - throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, socket_strerror($socketError)), BaseListener::EXCEPTION_INVALID_SOCKET); + throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET); } // END - if // Start listen for connections @@ -102,8 +114,14 @@ class TcpListener extends BaseListener implements Listenable { // Get socket error code for verification $socketError = socket_last_error($mainSocket); + // Get error message + $errorMessage = socket_strerror($socketError); + + // Shutdown this socket + $this->shutdownSocket($mainSocket); + // And throw again - throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, socket_strerror($socketError)), BaseListener::EXCEPTION_INVALID_SOCKET); + throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET); } // END - if // Set the main socket diff --git a/application/hub/main/pools/client/class_DefaultClientPool.php b/application/hub/main/pools/client/class_DefaultClientPool.php index 9a2922e51..428f1d340 100644 --- a/application/hub/main/pools/client/class_DefaultClientPool.php +++ b/application/hub/main/pools/client/class_DefaultClientPool.php @@ -68,8 +68,14 @@ class DefaultClientPool extends BasePool implements PoolableClient { // Is it without any errors? if ($errorCode > 0) { - // Throw an exception again - throw new InvalidSocketException(array($this, gettype($socketResource), $errorCode, socket_strerror($errorCode)), BaseListener::EXCEPTION_INVALID_SOCKET); + // Get error message + $errorMessage = socket_strerror($errorCode); + + // Shutdown this socket + $this->getListenerInstance()->shutdownSocket($mainSocket); + + // And throw again + throw new InvalidSocketException(array($this, gettype($mainSocket), $socketError, $errorMessage), BaseListener::EXCEPTION_INVALID_SOCKET); } // END - if // Add it finally to the pool -- 2.39.5