summaryrefslogtreecommitdiff
path: root/java/src/Ice/ObjectAdapterI.java
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2008-01-16 12:53:39 -0330
committerDwayne Boone <dwayne@zeroc.com>2008-01-16 12:53:39 -0330
commit2f84f1c25575c5af7447d91878c47e2d1bd9b3df (patch)
treec9135e6b2034e0ec4301228a28dc3dbad6db2a17 /java/src/Ice/ObjectAdapterI.java
parentFixed multicast expect scripts (diff)
downloadice-2f84f1c25575c5af7447d91878c47e2d1bd9b3df.tar.bz2
ice-2f84f1c25575c5af7447d91878c47e2d1bd9b3df.tar.xz
ice-2f84f1c25575c5af7447d91878c47e2d1bd9b3df.zip
Bug 2436 - make updateLocatorRegistry thread safe
Diffstat (limited to 'java/src/Ice/ObjectAdapterI.java')
-rw-r--r--java/src/Ice/ObjectAdapterI.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/java/src/Ice/ObjectAdapterI.java b/java/src/Ice/ObjectAdapterI.java
index 886880f54ca..7e63f990248 100644
--- a/java/src/Ice/ObjectAdapterI.java
+++ b/java/src/Ice/ObjectAdapterI.java
@@ -1356,13 +1356,17 @@ public final class ObjectAdapterI implements ObjectAdapter
if(registerProcess && serverId.length() > 0)
{
- try
+ synchronized(this)
{
if(_processId == null)
{
Process servant = new IceInternal.ProcessI(_communicator);
_processId = addWithUUID(servant).ice_getIdentity();
}
+ }
+
+ try
+ {
locatorRegistry.setServerProcessProxy(serverId,
ProcessPrxHelper.uncheckedCast(createDirectProxy(_processId)));
}