diff options
author | krakjoe <joe.watkins@live.co.uk> | 2013-11-30 00:25:05 +0000 |
---|---|---|
committer | krakjoe <joe.watkins@live.co.uk> | 2013-11-30 00:25:05 +0000 |
commit | b6de073b00b1d80f479641d96e8edd5c6f9dc253 (patch) | |
tree | 77e56e58abf315bf7ade8f0ad185f0858d8fbecc /tutorials/java/src | |
parent | af3d792c7844b682cec53d0ef60c14bea2306409 (diff) | |
download | php-git-b6de073b00b1d80f479641d96e8edd5c6f9dc253.tar.gz |
...
Diffstat (limited to 'tutorials/java/src')
-rw-r--r-- | tutorials/java/src/phpdbg/ui/DebugSocket.java | 47 | ||||
-rw-r--r-- | tutorials/java/src/phpdbg/ui/JTerminalPane.java | 5 |
2 files changed, 24 insertions, 28 deletions
diff --git a/tutorials/java/src/phpdbg/ui/DebugSocket.java b/tutorials/java/src/phpdbg/ui/DebugSocket.java index bbd7d34a44..4542cbf70d 100644 --- a/tutorials/java/src/phpdbg/ui/DebugSocket.java +++ b/tutorials/java/src/phpdbg/ui/DebugSocket.java @@ -76,37 +76,33 @@ public class DebugSocket implements Runnable { if (reader) { /* The reader thread part will wait() until there is input */ Socket socket = new Socket(this.host, this.port); - try { - do { - String command; - OutputStream output = socket.getOutputStream(); + do { + String command; + OutputStream output = socket.getOutputStream(); - synchronized(this) { - wait(); + synchronized(this) { + wait(); - if (!quit) { - command = main.getInputField().getText(); - /* send command to stdin socket */ - if (command != null) { - if (main.isEchoing()) { - main.getOutputField().appendANSI("remote> "); - main.getOutputField().appendANSI(command); - main.getOutputField().appendANSI("\n"); - } - output.write( - command.getBytes()); - output.write("\n".getBytes()); - output.flush(); + if (!quit) { + command = main.getInputField().getText(); + /* send command to stdin socket */ + if (command != null) { + if (main.isEchoing()) { + main.getOutputField().appendANSI("remote> "); + main.getOutputField().appendANSI(command); + main.getOutputField().appendANSI("\n"); } - main.getInputField().setText(null); + output.write( + command.getBytes()); + output.write("\n".getBytes()); + output.flush(); } + main.getInputField().setText(null); } - } while (!quit); - } catch (IOException ex) { - if (!quit) { - main.messageBox(ex.getMessage(), MessageType.ERROR); } - } + } while (!quit); + + socket.close(); } else { /* * The writer thread will use non-blocking i/o consuming @@ -144,6 +140,7 @@ public class DebugSocket implements Runnable { } } } + channel.close(); } } catch (IOException | InterruptedException ex) { if (!quit) { diff --git a/tutorials/java/src/phpdbg/ui/JTerminalPane.java b/tutorials/java/src/phpdbg/ui/JTerminalPane.java index c616d2a8b8..ae63c22300 100644 --- a/tutorials/java/src/phpdbg/ui/JTerminalPane.java +++ b/tutorials/java/src/phpdbg/ui/JTerminalPane.java @@ -72,11 +72,10 @@ public class JTerminalPane extends JTextPane { SimpleAttributeSet.EMPTY, StyleConstants.Foreground, c); setCharacterAttributes(aset, false); replaceSelection(s); - setCaretPosition( - (getDocument().getLength() > 0) ? (getDocument().getLength() - 1) : 0); + setCaretPosition(getDocument().getLength()); } - public void appendANSI(String s) { + public synchronized void appendANSI(String s) { int aPos = 0; int aIndex; int mIndex; |