summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Glacier2/Instance.h20
-rw-r--r--cpp/src/Ice/ConnectRequestHandler.cpp2
-rw-r--r--cpp/src/Ice/Network.cpp4
3 files changed, 16 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
{