mirror of
https://github.com/bisq-network/bisq.git
synced 2025-02-24 07:07:43 +01:00
Rename writeCompleted to onWriteCompleted
Add comment Use decrementAndGet instead of getAndDecrement Tested cases when there is an exception at write to disk, but as we call the result handler in the finally clause we get always called onWriteCompleted, so it cannot happen that we get stuck.
This commit is contained in:
parent
232fa8ddee
commit
10e9b054a0
1 changed files with 6 additions and 4 deletions
|
@ -94,20 +94,22 @@ public class PersistenceManager<T extends PersistableEnvelope> {
|
|||
if (persistenceManager.persistenceRequested) {
|
||||
// We don't know from which thread we are called so we map back to user thread when calling persistNow
|
||||
UserThread.execute(() -> {
|
||||
// We always get our completeHandler called even if exceptions happen. In case a file write fails
|
||||
// we still call our shutdown and count down routine as the completeHandler is triggered in any case.
|
||||
persistenceManager.persistNow(() ->
|
||||
writeCompleted(completeHandler, openInstances, persistenceManager));
|
||||
onWriteCompleted(completeHandler, openInstances, persistenceManager));
|
||||
});
|
||||
} else {
|
||||
writeCompleted(completeHandler, openInstances, persistenceManager);
|
||||
onWriteCompleted(completeHandler, openInstances, persistenceManager);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected static void writeCompleted(ResultHandler completeHandler,
|
||||
private static void onWriteCompleted(ResultHandler completeHandler,
|
||||
AtomicInteger openInstances,
|
||||
PersistenceManager<?> persistenceManager) {
|
||||
persistenceManager.shutdown();
|
||||
openInstances.getAndDecrement();
|
||||
openInstances.decrementAndGet();
|
||||
if (openInstances.get() == 0) {
|
||||
log.info("flushAllDataToDisk completed");
|
||||
UserThread.execute(completeHandler::handleResult);
|
||||
|
|
Loading…
Add table
Reference in a new issue