From dac84d4998947e49dae1ab9233d88d0edc10413d Mon Sep 17 00:00:00 2001 From: Florrie Date: Sat, 6 Jul 2019 11:40:55 -0300 Subject: End flushable when socket disconnects This prevents occasional errors from showing up when a flushable tries to flush to the socket after it's been closed. --- telnet-server.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'telnet-server.js') diff --git a/telnet-server.js b/telnet-server.js index 6cee554..479bd2b 100644 --- a/telnet-server.js +++ b/telnet-server.js @@ -22,7 +22,7 @@ class TelnetServer { async handleConnection(socket) { const interfacer = new TelnetInterfacer(socket) - const { appElement, renderInterval, cleanTerminal } = await setupClient({ + const { appElement, cleanTerminal, flushable, renderInterval } = await setupClient({ backend: this.backend, writable: socket, interfacer, @@ -39,8 +39,9 @@ class TelnetServer { interfacer.cleanTelnetOptions() socket.write('\r' + msg + '\r\n') socket.end() - this.sockets.splice(this.sockets.indexOf(socket, 1)) + flushable.end() closed = true + this.sockets.splice(this.sockets.indexOf(socket, 1)) } appElement.on('quitRequested', quit) @@ -48,8 +49,9 @@ class TelnetServer { socket.on('close', () => { if (!closed) { clearInterval(renderInterval) - this.sockets.splice(this.sockets.indexOf(socket, 1)) + flushable.end() closed = true + this.sockets.splice(this.sockets.indexOf(socket, 1)) } }) -- cgit 1.3.0-6-gf8a5