Browse Source

Prevent potential ConcurrentModificationException in the build queue

online-level-zero-accounts-api-call
CalDescent 3 years ago
parent
commit
2637311ef5
  1. 12
      src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java

12
src/main/java/org/qortal/controller/arbitrary/ArbitraryDataBuilderThread.java

@ -36,11 +36,15 @@ public class ArbitraryDataBuilderThread implements Runnable {
continue;
}
Map.Entry<String, ArbitraryDataBuildQueueItem> next = null;
// Find resources that are queued for building
Map.Entry<String, ArbitraryDataBuildQueueItem> next = buildManager.arbitraryDataBuildQueue
.entrySet().stream()
.filter(e -> e.getValue().isQueued())
.findFirst().orElse(null);
synchronized (buildManager.arbitraryDataBuildQueue) {
next = buildManager.arbitraryDataBuildQueue
.entrySet().stream()
.filter(e -> e.getValue().isQueued())
.findFirst().orElse(null);
}
if (next == null) {
continue;

Loading…
Cancel
Save