Repository: karaf Updated Branches: refs/heads/karaf-4.1.x 9ef1031cf -> 7e7a12749
[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/7e7a1274 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/7e7a1274 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/7e7a1274 Branch: refs/heads/karaf-4.1.x Commit: 7e7a12749f67a52f5ea712e1a04fc1e55e1b0468 Parents: 9ef1031 Author: Guillaume Nodet <[email protected]> Authored: Fri Jun 23 08:28:34 2017 +0200 Committer: Guillaume Nodet <[email protected]> Committed: Fri Jun 23 08:28:34 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/7e7a1274/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 4162de6..6f246a0 100644 --- a/client/src/main/java/org/apache/karaf/client/Main.java +++ b/client/src/main/java/org/apache/karaf/client/Main.java @@ -60,6 +60,7 @@ import org.apache.sshd.common.config.keys.FilePasswordProvider; import org.apache.sshd.common.keyprovider.AbstractKeyPairProvider; 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; @@ -233,8 +234,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);
