You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gn...@apache.org on 2018/08/02 19:09:16 UTC
[karaf] branch karaf-4.1.x updated: [KARAF-5689] Console is broken
after Ctrl+C
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch karaf-4.1.x
in repository https://gitbox.apache.org/repos/asf/karaf.git
The following commit(s) were added to refs/heads/karaf-4.1.x by this push:
new e64004d [KARAF-5689] Console is broken after Ctrl+C
e64004d is described below
commit e64004d1361039f5950a5e96e080843aa970220d
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Aug 2 13:42:42 2018 +0200
[KARAF-5689] Console is broken after Ctrl+C
---
.../apache/karaf/shell/impl/console/ConsoleSessionImpl.java | 4 +---
.../karaf/shell/impl/console/osgi/LocalConsoleManager.java | 10 ++++++++--
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
index a9695f8..662cd50 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/ConsoleSessionImpl.java
@@ -135,9 +135,7 @@ public class ConsoleSessionImpl implements Session {
}
// Create session
- session = processor.createSession(jlineTerminal.input(),
- jlineTerminal.output(),
- jlineTerminal.output());
+ session = processor.createSession(in, out, err);
// Completers
Completers.CompletionEnvironment env = new Completers.CompletionEnvironment() {
diff --git a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
index 0ee97df..0a27fd2 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/impl/console/osgi/LocalConsoleManager.java
@@ -68,10 +68,16 @@ public class LocalConsoleManager {
this.session = JaasHelper.doAs(subject, new PrivilegedAction<Session>() {
public Session run() {
String encoding = getEncoding();
+ PrintStream pout = new PrintStream(terminal.output()) {
+ @Override
+ public void close() {
+ // do nothing
+ }
+ };
session = sessionFactory.create(
terminal.input(),
- new PrintStream(terminal.output()),
- new PrintStream(terminal.output()),
+ pout,
+ pout,
new JLineTerminal(terminal),
encoding,
LocalConsoleManager.this::close);