summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2018-07-26 13:11:27 +0200
committerJose <jose@zeroc.com>2018-07-26 13:11:27 +0200
commit53f1558de4117dbd24c56f379e7065c3e3782906 (patch)
treea5553d321da6003b3212f151ff05244ad1e3ffe7
parentOpenSSLEngine fix openssl cleanup (diff)
downloadice-53f1558de4117dbd24c56f379e7065c3e3782906.tar.bz2
ice-53f1558de4117dbd24c56f379e7065c3e3782906.tar.xz
ice-53f1558de4117dbd24c56f379e7065c3e3782906.zip
Simplify EndpointHostResolver initialization
-rw-r--r--cpp/src/Ice/IPEndpointI.cpp25
-rw-r--r--cpp/src/Ice/Instance.cpp10
2 files changed, 11 insertions, 24 deletions
diff --git a/cpp/src/Ice/IPEndpointI.cpp b/cpp/src/Ice/IPEndpointI.cpp
index f3c1629a143..87bc5350a77 100644
--- a/cpp/src/Ice/IPEndpointI.cpp
+++ b/cpp/src/Ice/IPEndpointI.cpp
@@ -538,30 +538,7 @@ IceInternal::EndpointHostResolver::EndpointHostResolver(const InstancePtr& insta
_preferIPv6(instance->preferIPv6()),
_destroyed(false)
{
- __setNoDelete(true);
- try
- {
- updateObserver();
- bool hasPriority = _instance->initializationData().properties->getProperty("Ice.ThreadPriority") != "";
- int priority = _instance->initializationData().properties->getPropertyAsInt("Ice.ThreadPriority");
- if(hasPriority)
- {
- start(0, priority);
- }
- else
- {
- start();
- }
- }
- catch(const IceUtil::Exception& ex)
- {
- {
- Ice::Error out(_instance->initializationData().logger);
- out << "cannot create thread for enpoint host resolver:\n" << ex;
- }
- throw;
- }
- __setNoDelete(false);
+ updateObserver();
}
void
diff --git a/cpp/src/Ice/Instance.cpp b/cpp/src/Ice/Instance.cpp
index 11002a1d787..1f84b0fe832 100644
--- a/cpp/src/Ice/Instance.cpp
+++ b/cpp/src/Ice/Instance.cpp
@@ -1453,6 +1453,16 @@ IceInternal::Instance::finishSetup(int& argc, const char* argv[], const Ice::Com
try
{
_endpointHostResolver = new EndpointHostResolver(this);
+ bool hasPriority = _initData.properties->getProperty("Ice.ThreadPriority") != "";
+ int priority = _initData.properties->getPropertyAsInt("Ice.ThreadPriority");
+ if(hasPriority)
+ {
+ _endpointHostResolver->start(0, priority);
+ }
+ else
+ {
+ _endpointHostResolver->start();
+ }
}
catch(const IceUtil::Exception& ex)
{