diff options
Diffstat (limited to 'TAO/tao/Connection_Handler.cpp')
-rw-r--r-- | TAO/tao/Connection_Handler.cpp | 6 |
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; |