summaryrefslogtreecommitdiff
path: root/tutorials/java/src/phpdbg/ui
diff options
context:
space:
mode:
authorkrakjoe <joe.watkins@live.co.uk>2013-11-30 00:25:05 +0000
committerkrakjoe <joe.watkins@live.co.uk>2013-11-30 00:25:05 +0000
commitb6de073b00b1d80f479641d96e8edd5c6f9dc253 (patch)
tree77e56e58abf315bf7ade8f0ad185f0858d8fbecc /tutorials/java/src/phpdbg/ui
parentaf3d792c7844b682cec53d0ef60c14bea2306409 (diff)
downloadphp-git-b6de073b00b1d80f479641d96e8edd5c6f9dc253.tar.gz
...
Diffstat (limited to 'tutorials/java/src/phpdbg/ui')
-rw-r--r--tutorials/java/src/phpdbg/ui/DebugSocket.java47
-rw-r--r--tutorials/java/src/phpdbg/ui/JTerminalPane.java5
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;