summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/CollocatedRequestHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/IceInternal/CollocatedRequestHandler.java')
-rw-r--r--java/src/IceInternal/CollocatedRequestHandler.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/java/src/IceInternal/CollocatedRequestHandler.java b/java/src/IceInternal/CollocatedRequestHandler.java
index 48d7bfa5b7d..e3f5f045f58 100644
--- a/java/src/IceInternal/CollocatedRequestHandler.java
+++ b/java/src/IceInternal/CollocatedRequestHandler.java
@@ -311,6 +311,8 @@ public class CollocatedRequestHandler implements RequestHandler, ResponseHandler
{
synchronized(this)
{
+ outAsync.cancelable(this); // This will throw if the request is canceled
+
if(_response)
{
requestId = ++_requestId;
@@ -320,7 +322,6 @@ public class CollocatedRequestHandler implements RequestHandler, ResponseHandler
{
_sendAsyncRequests.put(outAsync, requestId);
}
- outAsync.cancelable(this);
}
}
@@ -366,10 +367,11 @@ public class CollocatedRequestHandler implements RequestHandler, ResponseHandler
invokeNum = _batchRequestNum;
if(_batchRequestNum > 0)
{
+ outAsync.cancelable(this); // This will throw if the request is canceled
+
if(_reference.getInstance().queueRequests() || _reference.getInvocationTimeout() > 0)
{
_sendAsyncRequests.put(outAsync, 0);
- outAsync.cancelable(this);
}
assert(!_batchStream.isEmpty());