diff options
author | Matthew Newhook <matthew@zeroc.com> | 2014-09-22 11:32:07 -0230 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2014-09-22 11:32:07 -0230 |
commit | d22ccffa8ed6d81514ee71013a14c541c9214a13 (patch) | |
tree | 97338966ab00ec6884df5ec60ed11a1585ebb1a0 | |
parent | ICE-5653 DLL base address conflicts (diff) | |
download | ice-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.java | 7 | ||||
-rw-r--r-- | java/src/IceInternal/OutgoingAsync.java | 9 |
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; |