From fe8dd891b44b561e8ded8bfb1776f5f02aeadc29 Mon Sep 17 00:00:00 2001 From: Eugene Pankov Date: Sun, 2 May 2021 19:22:45 +0200 Subject: [PATCH] fixed one-off sessions not auto closing --- terminus-terminal/src/services/sessions.service.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/terminus-terminal/src/services/sessions.service.ts b/terminus-terminal/src/services/sessions.service.ts index c57fc2ba..dd63cfad 100644 --- a/terminus-terminal/src/services/sessions.service.ts +++ b/terminus-terminal/src/services/sessions.service.ts @@ -147,6 +147,7 @@ export abstract class BaseSession { /** @hidden */ export class Session extends BaseSession { private pty: PTYProxy|null = null + private ptyClosed = false private pauseAfterExit = false private guessedCWD: string|null = null private reportedCWD: string @@ -246,6 +247,7 @@ export class Session extends BaseSession { }) this.pty.subscribe('close', () => { + this.ptyClosed = true if (this.pauseAfterExit) { this.emitOutput(Buffer.from('\r\nPress any key to close\r\n')) } else if (this.open) { @@ -267,12 +269,11 @@ export class Session extends BaseSession { } write (data: Buffer): void { + if (this.ptyClosed) { + this.destroy() + } if (this.open) { this.pty?.write(data) - // TODO if (this.pty._writable) { - // } else { - // this.destroy() - // } } }