diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/ObjectPrxHelper.java | 16 | ||||
-rw-r--r-- | java/src/IceInternal/OutgoingAsync.java | 4 |
2 files changed, 5 insertions, 15 deletions
diff --git a/java/src/Ice/ObjectPrxHelper.java b/java/src/Ice/ObjectPrxHelper.java index 07f850ab756..4f5ad021983 100644 --- a/java/src/Ice/ObjectPrxHelper.java +++ b/java/src/Ice/ObjectPrxHelper.java @@ -220,20 +220,8 @@ public class ObjectPrxHelper implements ObjectPrx ice_invoke_async(AMI_Object_ice_invoke cb, String operation, OperationMode mode, byte[] inParams, java.util.Map context) { - int __cnt = 0; - while(true) - { - try - { -// _ObjectDel __del = __getDelegate(); -// __del.ice_invoke_async(cb, operation, mode, inParams, context); - return; - } - catch(LocalException __ex) - { - __cnt = __handleException(__ex, __cnt); - } - } + __checkTwowayOnly("ice_invoke_async"); + cb.__invoke(__reference(), operation, mode, inParams, context); } public final Identity diff --git a/java/src/IceInternal/OutgoingAsync.java b/java/src/IceInternal/OutgoingAsync.java index 6f2c72436ef..66426d69609 100644 --- a/java/src/IceInternal/OutgoingAsync.java +++ b/java/src/IceInternal/OutgoingAsync.java @@ -220,7 +220,7 @@ public abstract class OutgoingAsync { try { - wait(); + _monitor.wait(); } catch(InterruptedException ex) { @@ -375,6 +375,8 @@ public abstract class OutgoingAsync __os.destroy(); __os = null; } + + _monitor.notify(); } protected BasicStream __is; |