diff options
Diffstat (limited to 'priv')
-rw-r--r-- | priv/bullet.js | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/priv/bullet.js b/priv/bullet.js index 3a378f6..4ba2cb8 100644 --- a/priv/bullet.js +++ b/priv/bullet.js @@ -169,6 +169,7 @@ } var stream = new function(){ + var isClosed = true; var readyState = CLOSED; var heartbeat; var delay = delayDefault = 80; @@ -176,6 +177,7 @@ var transport; function init(){ + isClosed = false; readyState = CONNECTING; transport = next(); @@ -202,6 +204,12 @@ } }; transport.onclose = function(){ + // Firefox 13.0.1 sends 2 close events. + // Return directly if we already handled it. + if (isClosed){ + return; + } + clearInterval(heartbeat); if (readyState == CLOSING){ @@ -218,6 +226,8 @@ delay = delayMax; } + isClosed = true; + setTimeout(function(){ init(); }, delay); |