GP-2268 corrected background task handling of aborted transaction

This commit is contained in:
ghidra1 2022-07-01 12:28:22 -04:00
parent c48bf245c1
commit 6724f51f4f

View file

@ -17,6 +17,7 @@ package ghidra.framework.plugintool.mgr;
import java.rmi.ConnectException;
import db.NoTransactionException;
import db.TerminatedTransactionException;
import ghidra.framework.cmd.BackgroundCommand;
import ghidra.framework.model.*;
@ -35,7 +36,6 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener {
private BackgroundCommand cmd;
private ToolTaskManager taskMgr;
private UndoableDomainObject obj;
private TaskMonitor taskMonitor;
private boolean doneQueueProcessing;
@ -119,7 +119,6 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener {
if (isUnrecoverableException(t)) {
monitor.cancel();
taskMgr.clearTasks(obj);
return;
}
else if (!(t instanceof RollbackException)) {
String message =
@ -156,6 +155,7 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener {
//@formatter:off
return t instanceof ConnectException ||
t instanceof NoTransactionException ||
t instanceof TerminatedTransactionException ||
t instanceof DomainObjectLockedException ||
t instanceof ClosedException;
@ -164,6 +164,7 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener {
@Override
public void transactionAborted(long transactionID) {
Msg.warn(this, "Forced abort of background task transaction");
taskMonitor.cancel();
}