diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/TcpTransceiver.cpp | 18 | ||||
-rw-r--r-- | cpp/src/IceSSL/TransceiverI.cpp | 26 |
2 files changed, 24 insertions, 20 deletions
diff --git a/cpp/src/Ice/TcpTransceiver.cpp b/cpp/src/Ice/TcpTransceiver.cpp index bbaba2b4df8..72b235dd2e2 100644 --- a/cpp/src/Ice/TcpTransceiver.cpp +++ b/cpp/src/Ice/TcpTransceiver.cpp @@ -68,14 +68,19 @@ IceInternal::TcpTransceiver::initialize() { if(_traceLevels->network >= 2) { + Trace out(_logger, _traceLevels->networkCat); + out << "failed to establish tcp connection\n"; +#ifndef _WIN32 + // + // The local address is only accessible with connected sockets on Windows. + // struct sockaddr_storage localAddr; fdToLocalAddress(_fd, localAddr); - - Trace out(_logger, _traceLevels->networkCat); - out << "failed to establish tcp connection\n" - << "local address: " << addrToString(localAddr) << "\n" - << "remote address: " << addrToString(_connectAddr) << "\n" - << ex; + out << "local address: " << addrToString(localAddr) << "\n"; +#else + out << "local address: <not available>\n"; +#endif + out << "remote address: " << addrToString(_connectAddr) << "\n" << ex; } throw; } @@ -289,7 +294,6 @@ IceInternal::TcpTransceiver::startWrite(Buffer& buf) if(_state < StateConnected) { doConnectAsync(_fd, _connectAddr, _write); - _desc = fdToString(_fd); return false; } diff --git a/cpp/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp index a30ce0f0264..2674d714d87 100644 --- a/cpp/src/IceSSL/TransceiverI.cpp +++ b/cpp/src/IceSSL/TransceiverI.cpp @@ -247,24 +247,25 @@ IceSSL::TransceiverI::initialize() if(_instance->networkTraceLevel() >= 2) { Trace out(_logger, _instance->networkTraceCategory()); - - struct sockaddr_storage localAddr; - IceInternal::fdToLocalAddress(_fd, localAddr); - - struct sockaddr_storage remoteAddr; + out << "failed to establish ssl connection\n"; if(_incoming) { - IceInternal::fdToRemoteAddress(_fd, remoteAddr); + out << IceInternal::fdToString(_fd) << "\n" << ex; } else { - remoteAddr = _connectAddr; +#ifndef _WIN32 + // + // The local address is only accessible with connected sockets on Windows. + // + struct sockaddr_storage localAddr; + IceInternal::fdToLocalAddress(_fd, localAddr); + out << "local address: " << IceInternal::addrToString(localAddr) << "\n"; +#else + out << "local address: <not available>\n"; +#endif + out << "remote address: " << IceInternal::addrToString(_connectAddr) << "\n" << ex; } - - out << "failed to establish ssl connection\n" - << "local address: " << IceInternal::addrToString(localAddr) << "\n" - << "remote address: " << IceInternal::addrToString(remoteAddr) << "\n" - << ex; } throw; } @@ -648,7 +649,6 @@ IceSSL::TransceiverI::startWrite(IceInternal::Buffer& buf) if(_state < StateConnected) { IceInternal::doConnectAsync(_fd, _connectAddr, _write); - _desc = IceInternal::fdToString(_fd); return false; } |