diff options
Diffstat (limited to 'cpp/src/IceLocatorDiscovery/PluginI.cpp')
-rw-r--r-- | cpp/src/IceLocatorDiscovery/PluginI.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cpp/src/IceLocatorDiscovery/PluginI.cpp b/cpp/src/IceLocatorDiscovery/PluginI.cpp index 2e9b3ef0265..57f27179510 100644 --- a/cpp/src/IceLocatorDiscovery/PluginI.cpp +++ b/cpp/src/IceLocatorDiscovery/PluginI.cpp @@ -214,7 +214,13 @@ PluginI::initialize() lookupPrx = lookupPrx->ice_collocationOptimized(false); // No collocation optimization for the multicast proxy! try { - lookupPrx->ice_getConnection(); // Ensure we can establish a connection to the multicast proxy + // Ensure we can establish a connection to the multicast proxy + // but don't block. + Ice::AsyncResultPtr result = lookupPrx->begin_ice_getConnection(); + if(result->sentSynchronously()) + { + lookupPrx->end_ice_getConnection(result); + } } catch(const Ice::LocalException& ex) { |