diff options
author | Brent Eagles <brent@zeroc.com> | 2005-09-07 16:14:20 +0000 |
---|---|---|
committer | Brent Eagles <brent@zeroc.com> | 2005-09-07 16:14:20 +0000 |
commit | 4e631700d66c51a96210e2bcbd8b3f63d8b0b9f4 (patch) | |
tree | 5b0d75ebdea90cbdfb6c3955b601ece88ccbceee /cs/src | |
parent | Bug 371: closeSocket can hide real errors (diff) | |
download | ice-4e631700d66c51a96210e2bcbd8b3f63d8b0b9f4.tar.bz2 ice-4e631700d66c51a96210e2bcbd8b3f63d8b0b9f4.tar.xz ice-4e631700d66c51a96210e2bcbd8b3f63d8b0b9f4.zip |
revising fixes for bug 431
Diffstat (limited to 'cs/src')
-rwxr-xr-x | cs/src/Ice/CommunicatorI.cs | 15 | ||||
-rwxr-xr-x | cs/src/Ice/ObjectAdapterFactory.cs | 4 | ||||
-rwxr-xr-x | cs/src/Ice/ObjectAdapterI.cs | 8 |
3 files changed, 8 insertions, 19 deletions
diff --git a/cs/src/Ice/CommunicatorI.cs b/cs/src/Ice/CommunicatorI.cs index 77ded6554c7..22128e75313 100755 --- a/cs/src/Ice/CommunicatorI.cs +++ b/cs/src/Ice/CommunicatorI.cs @@ -39,23 +39,12 @@ namespace Ice public ObjectAdapter createObjectAdapter(string name) { - return _instance.objectAdapterFactory().createObjectAdapter(name); + return createObjectAdapterWithEndpoints(name, getProperties().getProperty(name + ".Endpoints")); } public ObjectAdapter createObjectAdapterWithEndpoints(string name, string endpoints) { - string propertyKey = name + ".Endpoints"; - string originalValue = getProperties().getProperty(propertyKey); - try - { - getProperties().setProperty(propertyKey, endpoints); - return createObjectAdapter(name); - } - catch(AlreadyRegisteredException ex) - { - getProperties().setProperty(propertyKey, originalValue); - throw ex; - } + return _instance.objectAdapterFactory().createObjectAdapter(name, endpoints); } public void addObjectFactory(ObjectFactory factory, string id) diff --git a/cs/src/Ice/ObjectAdapterFactory.cs b/cs/src/Ice/ObjectAdapterFactory.cs index a9a99f353cb..0b5a4418474 100755 --- a/cs/src/Ice/ObjectAdapterFactory.cs +++ b/cs/src/Ice/ObjectAdapterFactory.cs @@ -101,7 +101,7 @@ namespace IceInternal } } - public Ice.ObjectAdapter createObjectAdapter(string name) + public Ice.ObjectAdapter createObjectAdapter(string name, string endpoints) { lock(this) { @@ -119,7 +119,7 @@ namespace IceInternal throw ex; } - adapter = new Ice.ObjectAdapterI(_instance, _communicator, name); + adapter = new Ice.ObjectAdapterI(_instance, _communicator, name, endpoints); _adapters[name] = adapter; return adapter; } diff --git a/cs/src/Ice/ObjectAdapterI.cs b/cs/src/Ice/ObjectAdapterI.cs index aa00d680721..2c7118b4234 100755 --- a/cs/src/Ice/ObjectAdapterI.cs +++ b/cs/src/Ice/ObjectAdapterI.cs @@ -717,7 +717,8 @@ namespace Ice // // Only for use by IceInternal.ObjectAdapterFactory // - public ObjectAdapterI(IceInternal.Instance instance, Communicator communicator, string name) + public ObjectAdapterI(IceInternal.Instance instance, Communicator communicator, string name, + string endpointInfo) { _deactivated = false; _instance = instance; @@ -738,8 +739,7 @@ namespace Ice // The connection factory might change it, for example, to // fill in the real port number. // - string endpts = _instance.properties().getProperty(name + ".Endpoints"); - ArrayList endpoints = parseEndpoints(endpts); + ArrayList endpoints = parseEndpoints(endpointInfo); for(int i = 0; i < endpoints.Count; ++i) { IceInternal.Endpoint endp = (IceInternal.Endpoint)endpoints[i]; @@ -750,7 +750,7 @@ namespace Ice // Parse published endpoints. These are used in proxies // instead of the connection factory endpoints. // - endpts = _instance.properties().getProperty(name + ".PublishedEndpoints"); + string endpts = _instance.properties().getProperty(name + ".PublishedEndpoints"); _publishedEndpoints = parseEndpoints(endpts); string router = _instance.properties().getProperty(name + ".Router"); |