mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-14 17:06:16 +00:00
Merge pull request #1588 from karlmortensen/addressDeadlock
Address deadlock when service manager cancels jobs due to a service o…
This commit is contained in:
commit
5734522a3d
@ -68,6 +68,7 @@ public class IngestManager {
|
|||||||
|
|
||||||
private static final Logger logger = Logger.getLogger(IngestManager.class.getName());
|
private static final Logger logger = Logger.getLogger(IngestManager.class.getName());
|
||||||
private static IngestManager instance;
|
private static IngestManager instance;
|
||||||
|
private final Object ingestMessageBoxLock = new Object();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The ingest manager maintains a mapping of ingest job IDs to running
|
* The ingest manager maintains a mapping of ingest job IDs to running
|
||||||
@ -435,7 +436,9 @@ public class IngestManager {
|
|||||||
* display ingest messages.
|
* display ingest messages.
|
||||||
*/
|
*/
|
||||||
void initIngestMessageInbox() {
|
void initIngestMessageInbox() {
|
||||||
ingestMessageBox = IngestMessageTopComponent.findInstance();
|
synchronized (this.ingestMessageBoxLock) {
|
||||||
|
ingestMessageBox = IngestMessageTopComponent.findInstance();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -443,30 +446,34 @@ public class IngestManager {
|
|||||||
*
|
*
|
||||||
* @param message The message to be posted.
|
* @param message The message to be posted.
|
||||||
*/
|
*/
|
||||||
synchronized void postIngestMessage(IngestMessage message) {
|
void postIngestMessage(IngestMessage message) {
|
||||||
if (ingestMessageBox != null && this.runInteractively) {
|
synchronized (this.ingestMessageBoxLock) {
|
||||||
if (message.getMessageType() != IngestMessage.MessageType.ERROR && message.getMessageType() != IngestMessage.MessageType.WARNING) {
|
if (ingestMessageBox != null && this.runInteractively) {
|
||||||
ingestMessageBox.displayMessage(message);
|
if (message.getMessageType() != IngestMessage.MessageType.ERROR && message.getMessageType() != IngestMessage.MessageType.WARNING) {
|
||||||
} else {
|
|
||||||
long errorPosts = ingestErrorMessagePosts.incrementAndGet();
|
|
||||||
if (errorPosts <= MAX_ERROR_MESSAGE_POSTS) {
|
|
||||||
ingestMessageBox.displayMessage(message);
|
ingestMessageBox.displayMessage(message);
|
||||||
} else if (errorPosts == MAX_ERROR_MESSAGE_POSTS + 1) {
|
} else {
|
||||||
IngestMessage errorMessageLimitReachedMessage = IngestMessage.createErrorMessage(
|
long errorPosts = ingestErrorMessagePosts.incrementAndGet();
|
||||||
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.title"),
|
if (errorPosts <= MAX_ERROR_MESSAGE_POSTS) {
|
||||||
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.subject"),
|
ingestMessageBox.displayMessage(message);
|
||||||
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.msg", MAX_ERROR_MESSAGE_POSTS));
|
} else if (errorPosts == MAX_ERROR_MESSAGE_POSTS + 1) {
|
||||||
ingestMessageBox.displayMessage(errorMessageLimitReachedMessage);
|
IngestMessage errorMessageLimitReachedMessage = IngestMessage.createErrorMessage(
|
||||||
|
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.title"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.subject"),
|
||||||
|
NbBundle.getMessage(this.getClass(), "IngestManager.IngestMessage.ErrorMessageLimitReached.msg", MAX_ERROR_MESSAGE_POSTS));
|
||||||
|
ingestMessageBox.displayMessage(errorMessageLimitReachedMessage);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void clearIngestMessageBox() {
|
private void clearIngestMessageBox() {
|
||||||
if (ingestMessageBox != null) {
|
synchronized (this.ingestMessageBoxLock) {
|
||||||
ingestMessageBox.clearMessages();
|
if (ingestMessageBox != null) {
|
||||||
|
ingestMessageBox.clearMessages();
|
||||||
|
}
|
||||||
|
ingestErrorMessagePosts.set(0);
|
||||||
}
|
}
|
||||||
ingestErrorMessagePosts.set(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user