This commit is contained in:
krakjoe 2013-11-30 00:25:05 +00:00
parent af3d792c78
commit b6de073b00
3 changed files with 24 additions and 28 deletions

View file

@ -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) {

View file

@ -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;