diff options
-rw-r--r-- | cpp/src/Glacier2/Instance.h | 20 | ||||
-rw-r--r-- | cpp/src/Ice/ConnectRequestHandler.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Ice/Network.cpp | 4 | ||||
-rwxr-xr-x | cs/src/Ice/ConnectRequestHandler.cs | 2 | ||||
-rw-r--r-- | java/src/IceInternal/ConnectRequestHandler.java | 2 |
5 files changed, 20 insertions, 10 deletions
diff --git a/cpp/src/Glacier2/Instance.h b/cpp/src/Glacier2/Instance.h index dbe05d48e56..58fcad8fd06 100644 --- a/cpp/src/Glacier2/Instance.h +++ b/cpp/src/Glacier2/Instance.h @@ -27,14 +27,18 @@ public: Instance(const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, const Ice::ObjectAdapterPtr&); ~Instance(); - Ice::CommunicatorPtr communicator() const { return _communicator; } - Ice::ObjectAdapterPtr clientObjectAdapter() const { return _clientAdapter; } - Ice::ObjectAdapterPtr serverObjectAdapter() const { return _serverAdapter; } - Ice::PropertiesPtr properties() const { return _properties; } - Ice::LoggerPtr logger() const { return _logger; } - - RequestQueueThreadPtr clientRequestQueueThread() const { return _clientRequestQueueThread; } - RequestQueueThreadPtr serverRequestQueueThread() const { return _serverRequestQueueThread; } + // + // COMPILERFIX: returning const& is necessary on HP-UX (otherwise, it crashes in the Blobject + // constructor). + // + const Ice::CommunicatorPtr& communicator() const { return _communicator; } + const Ice::ObjectAdapterPtr& clientObjectAdapter() const { return _clientAdapter; } + const Ice::ObjectAdapterPtr& serverObjectAdapter() const { return _serverAdapter; } + const Ice::PropertiesPtr& properties() const { return _properties; } + const Ice::LoggerPtr& logger() const { return _logger; } + + const RequestQueueThreadPtr& clientRequestQueueThread() const { return _clientRequestQueueThread; } + const RequestQueueThreadPtr& serverRequestQueueThread() const { return _serverRequestQueueThread; } void destroy(); diff --git a/cpp/src/Ice/ConnectRequestHandler.cpp b/cpp/src/Ice/ConnectRequestHandler.cpp index 02e3227988e..20d326061dc 100644 --- a/cpp/src/Ice/ConnectRequestHandler.cpp +++ b/cpp/src/Ice/ConnectRequestHandler.cpp @@ -420,6 +420,7 @@ ConnectRequestHandler::flushRequests() assert(!_exception.get() && !_requests.empty()); _exception.reset(dynamic_cast<Ice::LocalException*>(ex.get()->ice_clone())); _reference->getInstance()->clientThreadPool()->execute(new FlushRequestsWithExceptionWrapper(this, ex)); + notifyAll(); return; } catch(const Ice::LocalException& ex) @@ -428,6 +429,7 @@ ConnectRequestHandler::flushRequests() assert(!_exception.get() && !_requests.empty()); _exception.reset(dynamic_cast<Ice::LocalException*>(ex.ice_clone())); _reference->getInstance()->clientThreadPool()->execute(new FlushRequestsWithException(this, ex)); + notifyAll(); return; } diff --git a/cpp/src/Ice/Network.cpp b/cpp/src/Ice/Network.cpp index be8e03e6402..002ea18b780 100644 --- a/cpp/src/Ice/Network.cpp +++ b/cpp/src/Ice/Network.cpp @@ -323,7 +323,7 @@ getAddressImpl(const string& host, int port, struct sockaddr_storage& addr, Prot { if(host.empty()) { - rs = getaddrinfo(0, "0", &hints, &info); + rs = getaddrinfo(0, "1", &hints, &info); } else { @@ -1267,7 +1267,7 @@ IceInternal::getAddresses(const string& host, int port, ProtocolSupport protocol { if(host.empty()) { - rs = getaddrinfo(0, "0", &hints, &info); // Get the address of the loopback interface + rs = getaddrinfo(0, "1", &hints, &info); // Get the address of the loopback interface } else { diff --git a/cs/src/Ice/ConnectRequestHandler.cs b/cs/src/Ice/ConnectRequestHandler.cs index d4c0bea568c..59b29da8671 100755 --- a/cs/src/Ice/ConnectRequestHandler.cs +++ b/cs/src/Ice/ConnectRequestHandler.cs @@ -401,6 +401,7 @@ namespace IceInternal threadPool.promoteFollower(); flushRequestsWithException(ex); }); + Monitor.PulseAll(this); } } catch(Ice.LocalException ex) @@ -414,6 +415,7 @@ namespace IceInternal threadPool.promoteFollower(); flushRequestsWithException(ex); }); + Monitor.PulseAll(this); } } diff --git a/java/src/IceInternal/ConnectRequestHandler.java b/java/src/IceInternal/ConnectRequestHandler.java index 8bba5a6fc5a..e269dce1ee8 100644 --- a/java/src/IceInternal/ConnectRequestHandler.java +++ b/java/src/IceInternal/ConnectRequestHandler.java @@ -443,6 +443,7 @@ public class ConnectRequestHandler flushRequestsWithException(ex); }; }); + notifyAll(); return; } } @@ -461,6 +462,7 @@ public class ConnectRequestHandler flushRequestsWithException(ex); }; }); + notifyAll(); return; } } |