summaryrefslogtreecommitdiff
path: root/java/src/Ice/AsyncResult.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/Ice/AsyncResult.java')
-rw-r--r--java/src/Ice/AsyncResult.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/java/src/Ice/AsyncResult.java b/java/src/Ice/AsyncResult.java
index 2cce84b373e..eed405ad00c 100644
--- a/java/src/Ice/AsyncResult.java
+++ b/java/src/Ice/AsyncResult.java
@@ -88,6 +88,7 @@ public class AsyncResult
}
catch(InterruptedException ex)
{
+ throw new Ice.OperationInterruptedException();
}
}
}
@@ -127,6 +128,7 @@ public class AsyncResult
}
catch(InterruptedException ex)
{
+ throw new Ice.OperationInterruptedException();
}
}
}
@@ -217,6 +219,12 @@ public class AsyncResult
}
catch(InterruptedException ex)
{
+ //
+ // Remove the EndCalled flag since it should be possible to
+ // call end_* again on the AsyncResult.
+ //
+ _state &= ~EndCalled;
+ throw new Ice.OperationInterruptedException();
}
}
if(_exception != null)
@@ -485,7 +493,8 @@ public class AsyncResult
if(handler != null)
{
- handler.asyncRequestTimedOut((IceInternal.OutgoingAsyncMessageCallback)this);
+ handler.asyncRequestCanceled((IceInternal.OutgoingAsyncMessageCallback)this,
+ new Ice.InvocationTimeoutException());
}
}