diff options
Diffstat (limited to 'java/src/IceInternal/ConnectRequestHandler.java')
-rw-r--r-- | java/src/IceInternal/ConnectRequestHandler.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/java/src/IceInternal/ConnectRequestHandler.java b/java/src/IceInternal/ConnectRequestHandler.java index ab38043e5a0..8144356b60a 100644 --- a/java/src/IceInternal/ConnectRequestHandler.java +++ b/java/src/IceInternal/ConnectRequestHandler.java @@ -42,12 +42,9 @@ public class ConnectRequestHandler synchronized(this) { - if(_exception != null) - { - throw _exception; - } - else if(_connection != null) + if(initialized()) { + assert(_connection != null); return new ConnectionRequestHandler(_reference, _connection, _compress); } else @@ -474,6 +471,8 @@ public class ConnectRequestHandler // handler which does not have any synchronization. This also breaks the cyclic // reference count with the proxy. // + // NOTE: _updateRequestHandler is immutable once _flushing = true + // if(_updateRequestHandler && _exception == null) { _proxy.__setRequestHandler(_delegate, new ConnectionRequestHandler(_reference, _connection, _compress)); |