summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2014-09-22 11:32:07 -0230
committerMatthew Newhook <matthew@zeroc.com>2014-09-22 11:32:07 -0230
commitd22ccffa8ed6d81514ee71013a14c541c9214a13 (patch)
tree97338966ab00ec6884df5ec60ed11a1585ebb1a0
parentICE-5653 DLL base address conflicts (diff)
downloadice-d22ccffa8ed6d81514ee71013a14c541c9214a13.tar.bz2
ice-d22ccffa8ed6d81514ee71013a14c541c9214a13.tar.xz
ice-d22ccffa8ed6d81514ee71013a14c541c9214a13.zip
ICE-5670 interrupt test failure
Fixed the Ice.UnmarshalOutOfBoundsException failure.
-rw-r--r--java/src/IceInternal/Instance.java7
-rw-r--r--java/src/IceInternal/OutgoingAsync.java9
2 files changed, 10 insertions, 6 deletions
diff --git a/java/src/IceInternal/Instance.java b/java/src/IceInternal/Instance.java
index cf810d2a179..777d34bc12b 100644
--- a/java/src/IceInternal/Instance.java
+++ b/java/src/IceInternal/Instance.java
@@ -925,8 +925,13 @@ public final class Instance
{
_queueExecutor = new QueueExecutor(_initData.properties,
Util.createThreadName(_initData.properties, "Ice.BackgroundIO"));
+ // Caching message buffers is not supported with background IO.
+ _cacheMessageBuffers = 0;
+ }
+ else
+ {
+ _cacheMessageBuffers = _initData.properties.getPropertyAsIntWithDefault("Ice.CacheMessageBuffers", 2);
}
- _cacheMessageBuffers = _initData.properties.getPropertyAsIntWithDefault("Ice.CacheMessageBuffers", 2);
}
catch(Ice.LocalException ex)
{
diff --git a/java/src/IceInternal/OutgoingAsync.java b/java/src/IceInternal/OutgoingAsync.java
index 94e3a8ae2b4..5762b1b60e2 100644
--- a/java/src/IceInternal/OutgoingAsync.java
+++ b/java/src/IceInternal/OutgoingAsync.java
@@ -152,10 +152,8 @@ public class OutgoingAsync extends OutgoingAsyncBase implements OutgoingAsyncMes
@Override
public int invokeCollocated(CollocatedRequestHandler handler)
{
- // The BasicStream cannot be cached if background io is enabled,
- // the proxy is not a twoway or there is an invocation timeout set.
- if(_proxy.__reference().getInstance().queueRequests() || !_proxy.ice_isTwoway() ||
- _proxy.__reference().getInvocationTimeout() > 0)
+ // The BasicStream cannot be cached if the proxy is not a twoway or there is an invocation timeout set.
+ if(!_proxy.ice_isTwoway() || _proxy.__reference().getInvocationTimeout() > 0)
{
// Disable caching by marking the streams as cached!
_state |= StateCachedBuffers;
@@ -606,7 +604,8 @@ public class OutgoingAsync extends OutgoingAsyncBase implements OutgoingAsyncMes
{
synchronized(_monitor)
{
- if((_state & StateCachedBuffers) > 0) {
+ if((_state & StateCachedBuffers) > 0)
+ {
return;
}
_state |= StateCachedBuffers;