diff options
author | Benoit Foucher <benoit@zeroc.com> | 2002-07-03 18:57:10 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2002-07-03 18:57:10 +0000 |
commit | 5ed96da8ba21f627dfe529b88f66cefa5c7c4f01 (patch) | |
tree | 65d8cdfd40b04e115c33d3a62e05c76e6d07a3b1 /java/src/Ice/ObjectPrxHelper.java | |
parent | More work on constant definitions. For C++, code is generated now (not (diff) | |
download | ice-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.java | 18 |
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); |