diff options
author | Dwayne Boone <dwayne@zeroc.com> | 2007-06-14 14:39:18 -0230 |
---|---|---|
committer | Dwayne Boone <dwayne@zeroc.com> | 2007-06-14 14:39:18 -0230 |
commit | 6ef19b0d6367bd784828be3054b763fbcd8c420c (patch) | |
tree | 2f8f0d950d8378ed6238da334886b1a3266f2c08 /cpp/src/Ice/ObjectAdapterI.cpp | |
parent | Added .gitignore for MFC demos (diff) | |
download | ice-6ef19b0d6367bd784828be3054b763fbcd8c420c.tar.bz2 ice-6ef19b0d6367bd784828be3054b763fbcd8c420c.tar.xz ice-6ef19b0d6367bd784828be3054b763fbcd8c420c.zip |
Do not recreate ProcessI on refreshPublishedEndpoints
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r-- | cpp/src/Ice/ObjectAdapterI.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp index 0a7ac99d39a..b02cf0a9ef5 100644 --- a/cpp/src/Ice/ObjectAdapterI.cpp +++ b/cpp/src/Ice/ObjectAdapterI.cpp @@ -1237,9 +1237,12 @@ ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locator { try { - ProcessPtr servant = new ProcessI(_communicator); - Ice::ObjectPrx process = createDirectProxy(addWithUUID(servant)->ice_getIdentity()); - locatorRegistry->setServerProcessProxy(serverId, ProcessPrx::uncheckedCast(process)); + if(_processId.name == "") + { + ProcessPtr servant = new ProcessI(_communicator); + _processId = addWithUUID(servant)->ice_getIdentity(); + } + locatorRegistry->setServerProcessProxy(serverId, ProcessPrx::uncheckedCast(createDirectProxy(_processId))); } catch(const ServerNotFoundException&) { |