diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 10 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/Network.cpp | 6 | ||||
-rw-r--r-- | cpp/src/Ice/UdpTransceiver.cpp | 3 |
4 files changed, 11 insertions, 10 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 44401760b4f..f859ac3fa58 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -1678,7 +1678,7 @@ IceInternal::IncomingConnectionFactory::initialize(const string& oaName) { try { - closeAcceptor(); + closeAcceptor(false); } catch(const Ice::LocalException&) { @@ -1768,7 +1768,7 @@ IceInternal::IncomingConnectionFactory::setState(State state) // if(_acceptor) { - closeAcceptor(); + closeAcceptor(true); } #endif for_each(_connections.begin(), _connections.end(), @@ -1782,7 +1782,7 @@ IceInternal::IncomingConnectionFactory::setState(State state) #if !defined(ICE_USE_IOCP) && !defined(ICE_OS_WINRT) if(_acceptor) { - closeAcceptor(); + closeAcceptor(true); } #endif break; @@ -1794,9 +1794,9 @@ IceInternal::IncomingConnectionFactory::setState(State state) } void -IceInternal::IncomingConnectionFactory::closeAcceptor() +IceInternal::IncomingConnectionFactory::closeAcceptor(bool trace) { - if(_instance->traceLevels()->network >= 1) + if(trace && _instance->traceLevels()->network >= 1) { Trace out(_instance->initializationData().logger, _instance->traceLevels()->networkCat); out << "stopping to accept " << _endpoint->protocol() << " connections at " << _acceptor->toString(); diff --git a/cpp/src/Ice/ConnectionFactory.h b/cpp/src/Ice/ConnectionFactory.h index 8f318914600..bd0bbe30804 100644 --- a/cpp/src/Ice/ConnectionFactory.h +++ b/cpp/src/Ice/ConnectionFactory.h @@ -213,7 +213,7 @@ private: }; void setState(State); - void closeAcceptor(); + void closeAcceptor(bool); const InstancePtr _instance; const FactoryACMMonitorPtr _monitor; diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index 823529753a7..0dd99cd5ae6 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -838,7 +838,7 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport, Ice::En // to Windows API. // addr.host = ref new HostName(ref new String( - IceUtil::stringToWstring(host, + IceUtil::stringToWstring(host, IceUtil::getProcessStringConverter()).c_str())); } stringstream os; @@ -1958,7 +1958,7 @@ IceInternal::doBind(SOCKET fd, const Address& addr) } else { - checkResultAndWait(listener->BindEndpointAsync(addr.host, addr.port)); + checkResultAndWait(listener->BindEndpointAsync(addr.host, addr.port)); } local.host = addr.host; local.port = listener->Information->LocalPort; @@ -1973,7 +1973,7 @@ IceInternal::doBind(SOCKET fd, const Address& addr) } else { - checkResultAndWait(datagram->BindEndpointAsync(addr.host, addr.port)); + checkResultAndWait(datagram->BindEndpointAsync(addr.host, addr.port)); } local.host = datagram->Information->LocalAddress; local.port = datagram->Information->LocalPort; diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index a54fd179d95..72bfc604a15 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -129,8 +129,9 @@ IceInternal::UdpTransceiver::close() #endif assert(_fd != INVALID_SOCKET); - closeSocket(_fd); + SOCKET fd = _fd; _fd = INVALID_SOCKET; + closeSocket(fd); } EndpointIPtr |