diff options
author | Benoit Foucher <benoit@zeroc.com> | 2014-12-01 15:03:14 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2014-12-01 15:03:14 +0100 |
commit | d600083397c331f118f957932a171965ae642fb5 (patch) | |
tree | b276e161b3322a9c806439999fb2e48213f18e74 /java/src | |
parent | testicedist windows fix (diff) | |
download | ice-d600083397c331f118f957932a171965ae642fb5.tar.bz2 ice-d600083397c331f118f957932a171965ae642fb5.tar.xz ice-d600083397c331f118f957932a171965ae642fb5.zip |
Fixed ICE-6034: interrupt test failure
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/Ice/src/main/java/IceInternal/RequestHandlerFactory.java | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/java/src/Ice/src/main/java/IceInternal/RequestHandlerFactory.java b/java/src/Ice/src/main/java/IceInternal/RequestHandlerFactory.java index aa5d4292b7d..f7f599227fd 100644 --- a/java/src/Ice/src/main/java/IceInternal/RequestHandlerFactory.java +++ b/java/src/Ice/src/main/java/IceInternal/RequestHandlerFactory.java @@ -30,34 +30,31 @@ public final class RequestHandlerFactory return new CollocatedRequestHandler(ref, adapter); } } - + + RequestHandler handler; if(ref.getCacheConnection()) { synchronized(this) { - RequestHandler handler = _handlers.get(ref); - if(handler != null) - { - return handler; - } - - handler = new ConnectRequestHandler(ref, proxy); - _handlers.put(ref, handler); - - if(_instance.queueRequests()) + handler = _handlers.get(ref); + if(handler == null) { - handler = new QueueRequestHandler(_instance, handler); + handler = new ConnectRequestHandler(ref, proxy); + _handlers.put(ref, handler); } - return handler; } } else { - RequestHandler handler = new ConnectRequestHandler(ref, proxy); - if(_instance.queueRequests()) - { - handler = new QueueRequestHandler(_instance, handler); - } + handler = new ConnectRequestHandler(ref, proxy); + } + + if(_instance.queueRequests()) + { + return new QueueRequestHandler(_instance, handler); + } + else + { return handler; } } |