kopia lustrzana https://github.com/c9/core
better cleanup after destroying reconnect socket
rodzic
00e9ced6ea
commit
86ac0ec42b
|
@ -50,6 +50,9 @@ var connectClient = module.exports = function(connectEio, options) {
|
||||||
});
|
});
|
||||||
|
|
||||||
eioSocket.on("message", function handshakeReply(msg) {
|
eioSocket.on("message", function handshakeReply(msg) {
|
||||||
|
if (reconnectSocket.destroying) return;
|
||||||
|
if (reconnectSocket.socket && reconnectSocket.socket != eioSocket)
|
||||||
|
return console.error("reconenct for detached socket");
|
||||||
try {
|
try {
|
||||||
msg = JSON.parse(msg);
|
msg = JSON.parse(msg);
|
||||||
} catch (e) {}
|
} catch (e) {}
|
||||||
|
@ -75,11 +78,17 @@ var connectClient = module.exports = function(connectEio, options) {
|
||||||
});
|
});
|
||||||
|
|
||||||
eioSocket.on("error", function(e) {
|
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);
|
console.error("Socket error; reconnecting:", e);
|
||||||
eioSocket.close();
|
eioSocket.close();
|
||||||
reconnect();
|
reconnect();
|
||||||
});
|
});
|
||||||
eioSocket.on("close", function(e) {
|
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);
|
console.error("Socket close; reconnecting:", e);
|
||||||
reconnect();
|
reconnect();
|
||||||
});
|
});
|
||||||
|
|
|
@ -345,7 +345,8 @@ define(function(require, exports, module) {
|
||||||
});
|
});
|
||||||
plugin.on("unload", function(){
|
plugin.on("unload", function(){
|
||||||
loaded = false;
|
loaded = false;
|
||||||
|
if (connection && connection.socket)
|
||||||
|
connection.socket.destroying = true;
|
||||||
if (consumer)
|
if (consumer)
|
||||||
consumer.disconnect();
|
consumer.disconnect();
|
||||||
if (connection)
|
if (connection)
|
||||||
|
|
Ładowanie…
Reference in New Issue