Repository: karaf Updated Branches: refs/heads/master e4585a99c -> ba62eb5db
[KARAF-5216] Make sure terminal's attributes are restored correctly when using the client jar Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/ba62eb5d Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/ba62eb5d Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/ba62eb5d Branch: refs/heads/master Commit: ba62eb5db5578576bb9b98de2453c4c24d2f8311 Parents: e4585a9 Author: Guillaume Nodet <[email protected]> Authored: Fri Jun 23 08:28:34 2017 +0200 Committer: Guillaume Nodet <[email protected]> Committed: Fri Jun 23 08:29:25 2017 +0200 ---------------------------------------------------------------------- client/src/main/java/org/apache/karaf/client/Main.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/ba62eb5d/client/src/main/java/org/apache/karaf/client/Main.java ---------------------------------------------------------------------- diff --git a/client/src/main/java/org/apache/karaf/client/Main.java b/client/src/main/java/org/apache/karaf/client/Main.java index 7335a9b..4f3e857 100644 --- a/client/src/main/java/org/apache/karaf/client/Main.java +++ b/client/src/main/java/org/apache/karaf/client/Main.java @@ -57,6 +57,7 @@ import org.apache.sshd.common.channel.PtyMode; import org.apache.sshd.common.config.keys.FilePasswordProvider; import org.apache.sshd.common.keyprovider.FileKeyPairProvider; import org.apache.sshd.common.util.io.NoCloseInputStream; +import org.apache.sshd.common.util.io.NoCloseOutputStream; import org.jline.terminal.Attributes; import org.jline.terminal.Attributes.ControlChar; import org.jline.terminal.Attributes.InputFlag; @@ -227,8 +228,9 @@ public class Main { } shell.setEnv("LC_CTYPE", ctype); } - channel.setOut(terminal.output()); - channel.setErr(terminal.output()); + NoCloseOutputStream output = new NoCloseOutputStream(terminal.output()); + channel.setOut(output); + channel.setErr(output); channel.open().verify(); if (channel instanceof PtyCapableChannelSession) { registerSignalHandler(terminal, (PtyCapableChannelSession) channel);
