terminal emulator: flush remaining process output data when terminating session

This commit is contained in:
Leonid Pliushch
2020-08-08 02:15:14 +03:00
parent 619552ec5c
commit 5a70be1523

View File

@@ -110,13 +110,13 @@ public final class TerminalSession extends TerminalOutput {
@Override @Override
public void handleMessage(Message msg) { public void handleMessage(Message msg) {
if (msg.what == MSG_NEW_INPUT && isRunning()) {
int bytesRead = mProcessToTerminalIOQueue.read(mReceiveBuffer, false); int bytesRead = mProcessToTerminalIOQueue.read(mReceiveBuffer, false);
if (bytesRead > 0) { if (bytesRead > 0) {
mEmulator.append(mReceiveBuffer, bytesRead); mEmulator.append(mReceiveBuffer, bytesRead);
notifyScreenUpdate(); notifyScreenUpdate();
} }
} else if (msg.what == MSG_PROCESS_EXITED) {
if (msg.what == MSG_PROCESS_EXITED) {
int exitCode = (Integer) msg.obj; int exitCode = (Integer) msg.obj;
cleanupResources(exitCode); cleanupResources(exitCode);
mChangeCallback.onSessionFinished(TerminalSession.this); mChangeCallback.onSessionFinished(TerminalSession.this);