diff options
Diffstat (limited to 'java/src/IceInternal/TcpTransceiver.java')
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java index bfa7c3ced27..82e46ec2552 100644 --- a/java/src/IceInternal/TcpTransceiver.java +++ b/java/src/IceInternal/TcpTransceiver.java @@ -28,9 +28,22 @@ final class TcpTransceiver implements Transceiver } else if(_state <= StateConnectPending) { - Network.doFinishConnect(_fd, timeout); - _state = StateConnected; - _desc = Network.fdToString(_fd); + try + { + Network.doFinishConnect(_fd, timeout); + _state = StateConnected; + _desc = Network.fdToString(_fd); + } + catch(Ice.LocalException ex) + { + if(_traceLevels.network >= 2) + { + String s = "failed to establish tcp connection\n" + _desc + "\n" + ex; + _logger.trace(_traceLevels.networkCat, s); + } + throw ex; + } + if(_traceLevels.network >= 1) { String s = "tcp connection established\n" + _desc; |