Skip to content

Commit

Permalink
Make sure to also catch exceptions during terminal initialization, no…
Browse files Browse the repository at this point in the history
…t only during pty creation
  • Loading branch information
gnodet committed May 1, 2017
1 parent 4795bac commit cc39441
Showing 1 changed file with 8 additions and 9 deletions.
17 changes: 8 additions & 9 deletions terminal/src/main/java/org/jline/terminal/TerminalBuilder.java
Original file line number Diff line number Diff line change
Expand Up @@ -255,36 +255,35 @@ else if (OSUtils.IS_WINDOWS) {
}
}
} else {
Pty pty = null;
if (jna) {
try {
pty = load(JnaSupport.class).current();
Pty pty = load(JnaSupport.class).current();
return new PosixSysTerminal(name, type, pty, encoding, nativeSignals, signalHandler);
} catch (Throwable t) {
// ignore
Log.debug("Error creating JNA based terminal: ", t.getMessage(), t);
exception.addSuppressed(t);
}
}
if (jansi && pty == null) {
if (jansi) {
try {
pty = load(JansiSupport.class).current();
Pty pty = load(JansiSupport.class).current();
return new PosixSysTerminal(name, type, pty, encoding, nativeSignals, signalHandler);
} catch (Throwable t) {
Log.debug("Error creating JANSI based terminal: ", t.getMessage(), t);
exception.addSuppressed(t);
}
}
if (exec && pty == null) {
if (exec) {
try {
pty = ExecPty.current();
Pty pty = ExecPty.current();
return new PosixSysTerminal(name, type, pty, encoding, nativeSignals, signalHandler);
} catch (Throwable t) {
// Ignore if not a tty
Log.debug("Error creating EXEC based terminal: ", t.getMessage(), t);
exception.addSuppressed(t);
}
}
if (pty != null) {
return new PosixSysTerminal(name, type, pty, encoding, nativeSignals, signalHandler);
}
}
if (dumb == null || dumb) {
if (dumb == null) {
Expand Down

0 comments on commit cc39441

Please sign in to comment.