summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
Diffstat (limited to 'js')
-rw-r--r--js/src/Ice/ConnectRequestHandler.js29
1 files changed, 12 insertions, 17 deletions
diff --git a/js/src/Ice/ConnectRequestHandler.js b/js/src/Ice/ConnectRequestHandler.js
index 80438239c17..a5f739996ef 100644
--- a/js/src/Ice/ConnectRequestHandler.js
+++ b/js/src/Ice/ConnectRequestHandler.js
@@ -54,24 +54,9 @@ var ConnectRequestHandler = Ice.Class({
},
connect: function(proxy)
{
- try
- {
- if(!this.initialized())
- {
- this._proxies.push(proxy);
- }
- }
- catch(ex)
+ if(!this.initialized())
{
- //
- // Only throw if the connection didn't get established. If
- // it died after being established, we allow the caller to
- // retry the connection establishment by not throwing here.
- //
- if(this._connection === null)
- {
- throw ex;
- }
+ this._proxies.push(proxy);
}
return this._requestHandler ? this._requestHandler : this;
},
@@ -212,6 +197,16 @@ var ConnectRequestHandler = Ice.Class({
{
if(this._exception !== null)
{
+ if(this._connection !== null)
+ {
+ //
+ // Only throw if the connection didn't get established. If
+ // it died after being established, we allow the caller to
+ // retry the connection establishment by not throwing here
+ // (the connection will throw RetryException).
+ //
+ return true;
+ }
throw this._exception;
}
else