From 5a70be152346958009fda0419d77502c6e52391b Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Sat, 8 Aug 2020 02:15:14 +0300 Subject: [PATCH] terminal emulator: flush remaining process output data when terminating session --- .../java/com/termux/terminal/TerminalSession.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/terminal-emulator/src/main/java/com/termux/terminal/TerminalSession.java b/terminal-emulator/src/main/java/com/termux/terminal/TerminalSession.java index a8c08a8d..a0c5b855 100644 --- a/terminal-emulator/src/main/java/com/termux/terminal/TerminalSession.java +++ b/terminal-emulator/src/main/java/com/termux/terminal/TerminalSession.java @@ -110,13 +110,13 @@ public final class TerminalSession extends TerminalOutput { @Override public void handleMessage(Message msg) { - if (msg.what == MSG_NEW_INPUT && isRunning()) { - int bytesRead = mProcessToTerminalIOQueue.read(mReceiveBuffer, false); - if (bytesRead > 0) { - mEmulator.append(mReceiveBuffer, bytesRead); - notifyScreenUpdate(); - } - } else if (msg.what == MSG_PROCESS_EXITED) { + int bytesRead = mProcessToTerminalIOQueue.read(mReceiveBuffer, false); + if (bytesRead > 0) { + mEmulator.append(mReceiveBuffer, bytesRead); + notifyScreenUpdate(); + } + + if (msg.what == MSG_PROCESS_EXITED) { int exitCode = (Integer) msg.obj; cleanupResources(exitCode); mChangeCallback.onSessionFinished(TerminalSession.this);