From db014c16bf9ebf9021578d4137f328b670c787eb Mon Sep 17 00:00:00 2001 From: Bryan Ashby Date: Mon, 28 Dec 2015 16:34:28 -0700 Subject: [PATCH] Backup restore() when 'close' fails to fire --- core/door.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/door.js b/core/door.js index eb0117dd..c50503cd 100644 --- a/core/door.js +++ b/core/door.js @@ -47,10 +47,13 @@ Door.prototype.run = function() { self.client.term.write(decode(data, self.exeInfo.encoding)); }; + var restored = false; + var restore = function(piped) { - if(self.client.term.output) { + if(!restored && self.client.term.output) { self.client.term.output.unpipe(piped); self.client.term.output.resume(); + restored = true; } }; @@ -133,6 +136,11 @@ Door.prototype.run = function() { sockServer.close(); } + // we may not get a close + if('stdio' === self.exeInfo.io) { + restore(door); + } + door.removeAllListeners(); self.emit('finished');