summaryrefslogtreecommitdiff
path: root/java/src/Ice/ObjectPrxHelper.java
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2002-07-03 18:57:10 +0000
committerBenoit Foucher <benoit@zeroc.com>2002-07-03 18:57:10 +0000
commit5ed96da8ba21f627dfe529b88f66cefa5c7c4f01 (patch)
tree65d8cdfd40b04e115c33d3a62e05c76e6d07a3b1 /java/src/Ice/ObjectPrxHelper.java
parentMore work on constant definitions. For C++, code is generated now (not (diff)
downloadice-5ed96da8ba21f627dfe529b88f66cefa5c7c4f01.tar.bz2
ice-5ed96da8ba21f627dfe529b88f66cefa5c7c4f01.tar.xz
ice-5ed96da8ba21f627dfe529b88f66cefa5c7c4f01.zip
Fixes from Marc review.
Diffstat (limited to 'java/src/Ice/ObjectPrxHelper.java')
-rw-r--r--java/src/Ice/ObjectPrxHelper.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java
index 8934f0ba70c..6be7a09f3bb 100644
--- a/java/src/Ice/ObjectPrxHelper.java
+++ b/java/src/Ice/ObjectPrxHelper.java
@@ -495,10 +495,16 @@ public class ObjectPrxHelper implements ObjectPrx
}
}
- public final synchronized int
+ public final int
__handleException(LocalException ex, int cnt)
{
- _delegate = null;
+ //
+ // Only _delegate needs to be mutex protected here.
+ //
+ synchronized(this)
+ {
+ _delegate = null;
+ }
try
{
@@ -553,8 +559,7 @@ public class ObjectPrxHelper implements ObjectPrx
if(cnt > 0)
{
//
- // Sleep before retrying. TODO: is it safe to sleep here
- // with the mutex locked?
+ // Sleep before retrying.
//
try
{
@@ -587,6 +592,11 @@ public class ObjectPrxHelper implements ObjectPrx
throw new LocationForwardIdentityException();
}
+ //
+ // TODO: BENOIT: This is not thread-safe. Everywhere else in the
+ // code, _reference is considered immutable and is not mutex
+ // protected.
+ //
_reference = _reference.changeAdapterId(h.__reference().adapterId);
_reference = _reference.changeEndpoints(h.__reference().endpoints);