diff options
Diffstat (limited to 'cpp/test/Ice/udp/Server.cpp')
-rw-r--r-- | cpp/test/Ice/udp/Server.cpp | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/cpp/test/Ice/udp/Server.cpp b/cpp/test/Ice/udp/Server.cpp index 34113776aba..17a8427ef46 100644 --- a/cpp/test/Ice/udp/Server.cpp +++ b/cpp/test/Ice/udp/Server.cpp @@ -56,10 +56,26 @@ Server::run(int argc, char** argv) #endif } communicator->getProperties()->setProperty("McastTestAdapter.Endpoints", endpoint.str()); - Ice::ObjectAdapterPtr mcastAdapter = communicator->createObjectAdapter("McastTestAdapter"); - mcastAdapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test")); - mcastAdapter->activate(); + try + { + Ice::ObjectAdapterPtr mcastAdapter = communicator->createObjectAdapter("McastTestAdapter"); + mcastAdapter->add(ICE_MAKE_SHARED(TestIntfI), Ice::stringToIdentity("test")); + mcastAdapter->activate(); + } + catch(const Ice::SocketException&) + { + // Multicast IPv6 not supported on the platform. This occurs for example + // on AIX PVP clould VMs. + if(communicator->getProperties()->getProperty("Ice.IPv6") == "1") + { + cout << "McastTestAdapter ready" << endl; + } + else + { + throw; + } + } serverReady(); communicator->waitForShutdown(); |