--- ../src-base/minecraft/net/minecraft/network/rcon/RConThreadClient.java +++ ../src-work/minecraft/net/minecraft/network/rcon/RConThreadClient.java @@ -41,20 +41,21 @@ public void run() { - while (true) + try { - try - { - if (!this.running) + while (true) + { + if (!this.running || clientSocket == null) { break; } BufferedInputStream bufferedinputstream = new BufferedInputStream(this.clientSocket.getInputStream()); int i = bufferedinputstream.read(this.buffer, 0, 1460); - - if (10 > i) + + if (i < 10) { + this.running = false; // Cauldron return; } @@ -109,27 +110,24 @@ continue; } } + } } catch (SocketTimeoutException sockettimeoutexception) { - break; + return; } catch (IOException ioexception) { - break; + return; } catch (Exception exception1) { field_164005_h.error("Exception whilst parsing RCON input", exception1); - break; } finally { this.closeSocket(); } - - return; - } } private void sendResponse(int p_72654_1_, int p_72654_2_, String p_72654_3_) throws IOException @@ -167,6 +165,7 @@ private void closeSocket() { + this.running = false; if (null != this.clientSocket) { try