summaryrefslogtreecommitdiff
path: root/csharp/src/Ice/ConnectionFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/src/Ice/ConnectionFactory.cs')
-rw-r--r--csharp/src/Ice/ConnectionFactory.cs8
1 files changed, 4 insertions, 4 deletions
diff --git a/csharp/src/Ice/ConnectionFactory.cs b/csharp/src/Ice/ConnectionFactory.cs
index d70262228d6..091c0eae16a 100644
--- a/csharp/src/Ice/ConnectionFactory.cs
+++ b/csharp/src/Ice/ConnectionFactory.cs
@@ -183,6 +183,10 @@ namespace IceInternal
public void setRouterInfo(IceInternal.RouterInfo routerInfo)
{
+ Debug.Assert(routerInfo != null);
+ Ice.ObjectAdapter adapter = routerInfo.getAdapter();
+ EndpointI[] endpoints = routerInfo.getClientEndpoints(); // Must be called outside the synchronization
+
lock(this)
{
if(_destroyed)
@@ -190,17 +194,13 @@ namespace IceInternal
throw new Ice.CommunicatorDestroyedException();
}
- Debug.Assert(routerInfo != null);
-
//
// Search for connections to the router's client proxy
// endpoints, and update the object adapter for such
// connections, so that callbacks from the router can be
// received over such connections.
//
- Ice.ObjectAdapter adapter = routerInfo.getAdapter();
DefaultsAndOverrides defaultsAndOverrides = _instance.defaultsAndOverrides();
- EndpointI[] endpoints = routerInfo.getClientEndpoints();
for(int i = 0; i < endpoints.Length; i++)
{
EndpointI endpoint = endpoints[i];