From fed58882493f1befe859115129dff0d80425ef6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Thu, 17 Nov 2011 16:03:13 +0100 Subject: Fix errors at connection triggering an infinite connection-trying loop --- priv/bullet.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/priv/bullet.js b/priv/bullet.js index 38d80ea..9f61f00 100644 --- a/priv/bullet.js +++ b/priv/bullet.js @@ -154,7 +154,7 @@ var c = 0; for (var f in transports){ - if (tn >= c){ + if (tn == c){ var t = transports[f](); if (t){ var ret = new t.transport(url); @@ -167,6 +167,8 @@ c++; } + + return false; } var stream = new function(){ @@ -178,6 +180,12 @@ function init(){ readyState = CONNECTING; + if (!transport){ + // No transport, give up + // @todo Trigger a disconnect error + return false; + } + transport.onopen = function(){ // We got a connection, reset the poll delay delay = delayDefault; @@ -201,11 +209,10 @@ // Close happened on connect, select next transport if (readyState == CONNECTING){ tn++; - } else{ - delay *= 2; - if (delay > 10000){ - delay = 10000; - } + + delay *= 2; + if (delay > 10000){ + delay = 10000; } setTimeout(function(){ -- cgit v1.2.3