diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2006-06-07 15:23:05 +0000 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2006-06-07 15:23:05 +0000 |
commit | 8159773193ab95b7b35aec8cba4cc03f473c0dda (patch) | |
tree | dd0ec9401db8dd8b588465a62fa6662c4f523cc3 | |
parent | IceGrid Win32 fixes (diff) | |
download | ice-8159773193ab95b7b35aec8cba4cc03f473c0dda.tar.bz2 ice-8159773193ab95b7b35aec8cba4cc03f473c0dda.tar.xz ice-8159773193ab95b7b35aec8cba4cc03f473c0dda.zip |
Fixed bug 1042
-rw-r--r-- | cpp/include/Ice/Initialize.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/CommunicatorI.h | 2 | ||||
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 11 | ||||
-rw-r--r-- | cppe/CHANGES | 6 | ||||
-rwxr-xr-x | cppe/include/IceE/Communicator.h | 2 | ||||
-rw-r--r-- | cppe/include/IceE/Initialize.h | 6 | ||||
-rwxr-xr-x | cppe/include/IceE/ObjectAdapter.h | 1 | ||||
-rw-r--r-- | cppe/src/IceE/Initialize.cpp | 11 | ||||
-rw-r--r-- | cppe/src/IceE/ObjectAdapter.cpp | 7 | ||||
-rw-r--r-- | cppe/test/IceE/adapterDeactivation/AllTests.cpp | 6 |
10 files changed, 26 insertions, 28 deletions
diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index d4146300f9e..03a34e854c3 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -65,7 +65,7 @@ struct InitializationData ThreadNotificationPtr threadHook; }; -ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData = InitializationData(), +ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData& = InitializationData(), Int = ICE_INT_VERSION); ICE_API ICE_DEPRECATED_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int = ICE_INT_VERSION); diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h index d7087d703f4..fe29d051696 100644 --- a/cpp/src/Ice/CommunicatorI.h +++ b/cpp/src/Ice/CommunicatorI.h @@ -68,7 +68,7 @@ private: // void finishSetup(int&, char*[]); - friend ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData, Int); + friend ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData&, Int); friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&); const ::IceInternal::InstancePtr _instance; diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index b8bd4946e72..ca108e8db85 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -148,7 +148,7 @@ Ice::getDefaultProperties(int& argc, char* argv[]) } CommunicatorPtr -Ice::initialize(int& argc, char* argv[], InitializationData initData, Int version) +Ice::initialize(int& argc, char* argv[], const InitializationData& initData, Int version) { #ifndef ICE_IGNORE_VERSION // @@ -168,15 +168,16 @@ Ice::initialize(int& argc, char* argv[], InitializationData initData, Int versio } #endif - if(initData.properties == 0) + InitializationData tmpData = initData; + if(tmpData.properties == 0) { - initData.properties = getDefaultProperties(argc, argv); + tmpData.properties = getDefaultProperties(argc, argv); } StringSeq args = argsToStringSeq(argc, argv); - args = initData.properties->parseIceCommandLineOptions(args); + args = tmpData.properties->parseIceCommandLineOptions(args); stringSeqToArgs(args, argc, argv); - CommunicatorI* communicatorI = new CommunicatorI(initData); + CommunicatorI* communicatorI = new CommunicatorI(tmpData); CommunicatorPtr result = communicatorI; // For exception safety. communicatorI->finishSetup(argc, argv); return result; diff --git a/cppe/CHANGES b/cppe/CHANGES index 054471ae06f..aefc63a411f 100644 --- a/cppe/CHANGES +++ b/cppe/CHANGES @@ -16,9 +16,9 @@ Changes since version 1.1.0 - Fixed an assert which could occur with proxies received over the wire and containing unknown endpoints. -- Added new method Ice::ObjectAdapter::destroy(). After this method - has been called it is now permissible to recreate a new object - adapter with the same name as the destroyed adapter. +- It is now permissible to recreate a new object adapter with the same + name as an old adapter once waitForDeactivate() has returned on the + old adapter. - Added new method Ice::Communicator::createObjectAdapterWithRouter() which creates a routed object adapter. A object adapter can now only diff --git a/cppe/include/IceE/Communicator.h b/cppe/include/IceE/Communicator.h index 9cb437b219f..9c18238676b 100755 --- a/cppe/include/IceE/Communicator.h +++ b/cppe/include/IceE/Communicator.h @@ -70,7 +70,7 @@ private: // void finishSetup(int&, char*[]); - friend ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData, Int); + friend ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData&, Int); friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&); const ::IceInternal::InstancePtr _instance; diff --git a/cppe/include/IceE/Initialize.h b/cppe/include/IceE/Initialize.h index 0d186ecebb2..f46bdbf3b22 100644 --- a/cppe/include/IceE/Initialize.h +++ b/cppe/include/IceE/Initialize.h @@ -42,8 +42,10 @@ struct InitializationData WstringConverterPtr wstringConverter; }; -ICE_API CommunicatorPtr initialize(int&, char*[], InitializationData = InitializationData(), Int = ICEE_INT_VERSION); -ICE_API ICE_DEPRECATED_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, Int = ICEE_INT_VERSION); +ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData& = InitializationData(), + Int = ICEE_INT_VERSION); +ICE_API ICE_DEPRECATED_API CommunicatorPtr initializeWithProperties(int&, char*[], const PropertiesPtr&, + Int = ICEE_INT_VERSION); ICE_API PropertiesPtr getDefaultProperties(); ICE_API PropertiesPtr getDefaultProperties(StringSeq&); diff --git a/cppe/include/IceE/ObjectAdapter.h b/cppe/include/IceE/ObjectAdapter.h index 3444c8c5192..c3c480b0252 100755 --- a/cppe/include/IceE/ObjectAdapter.h +++ b/cppe/include/IceE/ObjectAdapter.h @@ -54,7 +54,6 @@ public: void waitForHold(); void deactivate(); void waitForDeactivate(); - void destroy(); ObjectPrx add(const ObjectPtr&, const Identity&); ObjectPrx addFacet(const ObjectPtr&, const Identity&, const std::string&); diff --git a/cppe/src/IceE/Initialize.cpp b/cppe/src/IceE/Initialize.cpp index dd2536e93d3..771d184dc93 100644 --- a/cppe/src/IceE/Initialize.cpp +++ b/cppe/src/IceE/Initialize.cpp @@ -123,7 +123,7 @@ Ice::getDefaultProperties(int& argc, char* argv[]) } CommunicatorPtr -Ice::initialize(int& argc, char* argv[], InitializationData initData, Int version) +Ice::initialize(int& argc, char* argv[], const InitializationData& initData, Int version) { #ifndef ICE_IGNORE_VERSION // @@ -143,16 +143,17 @@ Ice::initialize(int& argc, char* argv[], InitializationData initData, Int versio } #endif - if(!initData.properties) + InitializationData tmpData = initData; + if(!tmpData.properties) { - initData.properties = getDefaultProperties(argc, argv); + tmpData.properties = getDefaultProperties(argc, argv); } StringSeq args = argsToStringSeq(argc, argv); - args = initData.properties->parseIceCommandLineOptions(args); + args = tmpData.properties->parseIceCommandLineOptions(args); stringSeqToArgs(args, argc, argv); - CommunicatorPtr communicator = new Communicator(initData); + CommunicatorPtr communicator = new Communicator(tmpData); communicator->finishSetup(argc, argv); return communicator; } diff --git a/cppe/src/IceE/ObjectAdapter.cpp b/cppe/src/IceE/ObjectAdapter.cpp index ea2253b0c44..e6c5810ae1f 100644 --- a/cppe/src/IceE/ObjectAdapter.cpp +++ b/cppe/src/IceE/ObjectAdapter.cpp @@ -341,13 +341,6 @@ Ice::ObjectAdapter::waitForDeactivate() } } -void -Ice::ObjectAdapter::destroy() -{ - deactivate(); - waitForDeactivate(); -} - ObjectPrx Ice::ObjectAdapter::add(const ObjectPtr& object, const Identity& ident) { diff --git a/cppe/test/IceE/adapterDeactivation/AllTests.cpp b/cppe/test/IceE/adapterDeactivation/AllTests.cpp index 45f3e2cea53..5632ce16850 100644 --- a/cppe/test/IceE/adapterDeactivation/AllTests.cpp +++ b/cppe/test/IceE/adapterDeactivation/AllTests.cpp @@ -42,9 +42,11 @@ allTests(const CommunicatorPtr& communicator) catch(const AlreadyRegisteredException&) { } - adapter->destroy(); + adapter->deactivate(); + adapter->waitForDeactivate(); adapter = communicator->createObjectAdapterWithEndpoints("TransientTestAdapter", "default -p 9999"); - adapter->destroy(); + adapter->deactivate(); + adapter->waitForDeactivate(); printf("ok\n"); } |