From 0a758f5d93d6406d2912cb99673a4e35c6381dc3 Mon Sep 17 00:00:00 2001 From: Toff Date: Sun, 27 Mar 2016 18:54:22 +0200 Subject: Avoid creating relay thread in sessionless mode Fixe issue #391 (High CPU usage when 'Start shell session' disabled). This patch is from Nishino Daisuke. Original message: https://code.google.com/archive/p/connectbot/issues/643 --- .../main/java/org/connectbot/service/TerminalBridge.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/connectbot/service/TerminalBridge.java b/app/src/main/java/org/connectbot/service/TerminalBridge.java index 9a1c995..d15585c 100644 --- a/app/src/main/java/org/connectbot/service/TerminalBridge.java +++ b/app/src/main/java/org/connectbot/service/TerminalBridge.java @@ -417,12 +417,14 @@ public class TerminalBridge implements VDUDisplay { else ((vt320) buffer).setBackspace(vt320.DELETE_IS_DEL); - // create thread to relay incoming connection data to buffer - relay = new Relay(this, transport, (vt320) buffer, host.getEncoding()); - Thread relayThread = new Thread(relay); - relayThread.setDaemon(true); - relayThread.setName("Relay"); - relayThread.start(); + if (isSessionOpen()) { + // create thread to relay incoming connection data to buffer + relay = new Relay(this, transport, (vt320) buffer, host.getEncoding()); + Thread relayThread = new Thread(relay); + relayThread.setDaemon(true); + relayThread.setName("Relay"); + relayThread.start(); + } // force font-size to make sure we resizePTY as needed setFontSize(fontSizeDp); -- cgit v1.2.3