mirror of
https://github.com/apache/maven-mvnd.git
synced 2026-01-13 07:04:14 +08:00
Avoid possible class loading deadlock
This commit is contained in:
@@ -55,10 +55,6 @@ public abstract class Message {
|
||||
public static final int TRANSFER_SUCCEEDED = 21;
|
||||
public static final int TRANSFER_FAILED = 22;
|
||||
|
||||
public static final BareMessage KEEP_ALIVE_SINGLETON = new BareMessage(KEEP_ALIVE);
|
||||
public static final BareMessage STOP_SINGLETON = new BareMessage(STOP);
|
||||
public static final BareMessage CANCEL_BUILD_SINGLETON = new BareMessage(CANCEL_BUILD);
|
||||
|
||||
final int type;
|
||||
|
||||
Message(int type) {
|
||||
@@ -588,6 +584,10 @@ public abstract class Message {
|
||||
|
||||
public static class BareMessage extends Message {
|
||||
|
||||
public static final BareMessage KEEP_ALIVE_SINGLETON = new BareMessage(KEEP_ALIVE);
|
||||
public static final BareMessage STOP_SINGLETON = new BareMessage(STOP);
|
||||
public static final BareMessage CANCEL_BUILD_SINGLETON = new BareMessage(CANCEL_BUILD);
|
||||
|
||||
private BareMessage(int type) {
|
||||
super(type);
|
||||
}
|
||||
|
||||
@@ -152,12 +152,12 @@ public class TerminalOutput implements ClientOutput {
|
||||
terminal.enterRawMode();
|
||||
Thread mainThread = Thread.currentThread();
|
||||
daemonDispatch = m -> {
|
||||
if (m == Message.CANCEL_BUILD_SINGLETON) {
|
||||
if (m == Message.BareMessage.CANCEL_BUILD_SINGLETON) {
|
||||
mainThread.interrupt();
|
||||
}
|
||||
};
|
||||
this.previousIntHandler = terminal.handle(Terminal.Signal.INT,
|
||||
sig -> daemonDispatch.accept(Message.CANCEL_BUILD_SINGLETON));
|
||||
sig -> daemonDispatch.accept(Message.BareMessage.CANCEL_BUILD_SINGLETON));
|
||||
this.display = new Display(terminal, false);
|
||||
this.log = logFile == null ? new MessageCollector() : new FileLog(logFile);
|
||||
if (!dumb) {
|
||||
|
||||
Reference in New Issue
Block a user