From 406b272de1bfdacbbe61c7e7d70ff98314534422 Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Thu, 3 Dec 2015 20:31:20 -0700 Subject: [PATCH] Some fixes to doors using sockets. Works on Windows! --- core/door.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/core/door.js b/core/door.js index 1db8a47e..3ee3cc98 100644 --- a/core/door.js +++ b/core/door.js @@ -46,6 +46,11 @@ Door.prototype.run = function() { self.client.term.write(decode(data, self.exeInfo.encoding)); }; + var restore = function(piped) { + self.client.term.output.unpipe(piped); + self.client.term.output.resume(); + } + var sockServer; async.series( @@ -63,8 +68,12 @@ Door.prototype.run = function() { conn.on('data', doorData); conn.on('end', function ended() { - self.client.term.output.unpipe(conn); - self.client.term.output.resume(); + restore(conn); + }); + + conn.on('error', function error(err) { + self.client.log.info('Door socket server connection error: ' + err.message); + restore(conn); }); } }); @@ -105,8 +114,7 @@ Door.prototype.run = function() { door.on('data', doorData); door.on('close', function closed() { - self.client.term.output.unpipe(door); - self.client.term.output.resume(); + restore(door); }); } else if('socket' === self.exeInfo.io) { self.client.log.debug(