diff --git a/node_modules/kaefer/lib/client.js b/node_modules/kaefer/lib/client.js index 3f6bd7f0..289fbd81 100644 --- a/node_modules/kaefer/lib/client.js +++ b/node_modules/kaefer/lib/client.js @@ -50,6 +50,9 @@ var connectClient = module.exports = function(connectEio, options) { }); eioSocket.on("message", function handshakeReply(msg) { + if (reconnectSocket.destroying) return; + if (reconnectSocket.socket && reconnectSocket.socket != eioSocket) + return console.error("reconenct for detached socket"); try { msg = JSON.parse(msg); } catch (e) {} @@ -75,11 +78,17 @@ var connectClient = module.exports = function(connectEio, options) { }); eioSocket.on("error", function(e) { + if (reconnectSocket.destroying) return; + if (reconnectSocket.socket && reconnectSocket.socket != eioSocket) + return console.error("reconenct for detached socket"); console.error("Socket error; reconnecting:", e); eioSocket.close(); reconnect(); }); eioSocket.on("close", function(e) { + if (reconnectSocket.destroying) return; + if (reconnectSocket.socket && reconnectSocket.socket != eioSocket) + return console.error("reconenct for detached socket"); console.error("Socket close; reconnecting:", e); reconnect(); }); diff --git a/plugins/c9.vfs.client/vfs_client.js b/plugins/c9.vfs.client/vfs_client.js index 9badea1b..dd0c974c 100644 --- a/plugins/c9.vfs.client/vfs_client.js +++ b/plugins/c9.vfs.client/vfs_client.js @@ -345,7 +345,8 @@ define(function(require, exports, module) { }); plugin.on("unload", function(){ loaded = false; - + if (connection && connection.socket) + connection.socket.destroying = true; if (consumer) consumer.disconnect(); if (connection)