Fixed thread safety for Terminal implementations. Changed Terminal implementation on windows to Flush System.out/System.err

This commit is contained in:
Adam Murdoch
2012-09-08 09:08:43 +10:00
parent 1c3ab6a289
commit ab1487d215
11 changed files with 179 additions and 38 deletions

View File

@@ -1,8 +1,11 @@
package net.rubygrapefruit.platform.internal;
import net.rubygrapefruit.platform.NativeException;
import net.rubygrapefruit.platform.Terminals;
import net.rubygrapefruit.platform.internal.jni.WindowsConsoleFunctions;
import java.io.PrintStream;
public class WindowsTerminals extends AbstractTerminals {
public boolean isTerminal(Output output) {
FunctionResult result = new FunctionResult();
@@ -16,6 +19,7 @@ public class WindowsTerminals extends AbstractTerminals {
@Override
protected AbstractTerminal createTerminal(Output output) {
return new WindowsTerminal(output);
PrintStream stream = output == Terminals.Output.Stdout ? System.out : System.err;
return new WrapperTerminal(stream, new WindowsTerminal(output));
}
}