From 15a84adf5983fe5b5426885ae8e87ef8062897ba Mon Sep 17 00:00:00 2001 From: Michael Jumper Date: Mon, 6 Sep 2010 17:06:52 -0700 Subject: [PATCH] Fixed CPU usage with Java process, fixed buffering resize issue (manifests as initial blank screen) --- .../src/net/sourceforge/guacamole/GuacamoleClient.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/guacamole/client/src/net/sourceforge/guacamole/GuacamoleClient.java b/guacamole/client/src/net/sourceforge/guacamole/GuacamoleClient.java index 37ced8783..9086e0fa2 100644 --- a/guacamole/client/src/net/sourceforge/guacamole/GuacamoleClient.java +++ b/guacamole/client/src/net/sourceforge/guacamole/GuacamoleClient.java @@ -79,13 +79,13 @@ public class GuacamoleClient extends Client { try { // While we're blocking, or input is available - while (blocking || input.ready()) { + do { // If past threshold, resize buffer before reading if (usedLength > buffer.length/2) { - char[] newbuffer = new char[buffer.length*2]; - System.arraycopy(newbuffer, 0, buffer, 0, usedLength); - buffer = newbuffer; + char[] biggerBuffer = new char[buffer.length*2]; + System.arraycopy(buffer, 0, biggerBuffer, 0, usedLength); + buffer = biggerBuffer; } // Attempt to fill buffer @@ -122,7 +122,7 @@ public class GuacamoleClient extends Client { } - } // End read loop + } while (input.ready()); // End read loop } catch (IOException e) {