aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorToff <christophe.paris@free.fr>2016-03-27 18:54:22 +0200
committerToff <christophe.paris@free.fr>2016-03-27 18:54:22 +0200
commit0a758f5d93d6406d2912cb99673a4e35c6381dc3 (patch)
treee877e330060bc3c270a4420a7c632d7821c65353
parent8a904e8ab5e87adba4412e7af6f9a25f045ca0c2 (diff)
downloadconnectbot-0a758f5d93d6406d2912cb99673a4e35c6381dc3.tar.gz
connectbot-0a758f5d93d6406d2912cb99673a4e35c6381dc3.tar.bz2
connectbot-0a758f5d93d6406d2912cb99673a4e35c6381dc3.zip
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
-rw-r--r--app/src/main/java/org/connectbot/service/TerminalBridge.java14
1 files 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);