summaryrefslogtreecommitdiff
path: root/TAO/tao/Connection_Handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/Connection_Handler.cpp')
-rw-r--r--TAO/tao/Connection_Handler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/TAO/tao/Connection_Handler.cpp b/TAO/tao/Connection_Handler.cpp
index 0231bbcb364..18be0672663 100644
--- a/TAO/tao/Connection_Handler.cpp
+++ b/TAO/tao/Connection_Handler.cpp
@@ -117,7 +117,6 @@ TAO_Connection_Handler::svc_i (void)
// occured.
// - Or if during processing a return value of -1 is received.
while (!this->orb_core_->has_shutdown ()
- && this->transport ()
&& result >= 0)
{
// Let the transport know that it is used
@@ -138,6 +137,11 @@ TAO_Connection_Handler::svc_i (void)
// fails if the socket has been closed.
errno = 0;
}
+ else if (result == -1)
+ {
+ // Something went wrong with the socket. Just quit
+ return result;
+ }
current_timeout = timeout;