From 3252070328311f3f360370eb8e3ce7147d2905b3 Mon Sep 17 00:00:00 2001 From: Yoann Ciabaud Date: Wed, 16 Mar 2016 09:22:33 +0100 Subject: [PATCH] Clear reconnect timeout on destroy --- lib/client/websocket-tracker.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/client/websocket-tracker.js b/lib/client/websocket-tracker.js index 7bd5613..c389c92 100644 --- a/lib/client/websocket-tracker.js +++ b/lib/client/websocket-tracker.js @@ -87,6 +87,7 @@ WebSocketTracker.prototype.destroy = function (cb) { if (self.destroyed) return cb(null) self.destroyed = true clearInterval(self.interval) + clearTimeout(self.reconnectTimer) if (socketPool[self.announceUrl]) socketPool[self.announceUrl].consumers-- @@ -299,11 +300,11 @@ WebSocketTracker.prototype._startReconnectTimer = function () { var ms = Math.floor(Math.random() * RECONNECT_VARIANCE) + Math.min(Math.pow(2, self.retries) * RECONNECT_MINIMUM, RECONNECT_MAXIMUM) self.reconnecting = true - var reconnectTimer = setTimeout(function () { + self.reconnectTimer = setTimeout(function () { self.retries++ self._openSocket() }, ms) - if (reconnectTimer.unref) reconnectTimer.unref() + if (self.reconnectTimer.unref) self.reconnectTimer.unref() debug('reconnecting socket in %s ms', ms) }