From 524ffb189c4871f33788ca3e163a53c2cc238fbe Mon Sep 17 00:00:00 2001 From: Eyck Jentzsch Date: Tue, 16 Nov 2021 14:11:30 +0100 Subject: [PATCH] fix MT race condition --- .../com/minres/scviewer/database/internal/WaveformDb.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java index 093f9c2..df1f049 100644 --- a/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java +++ b/plugins/com.minres.scviewer.database/src/com/minres/scviewer/database/internal/WaveformDb.java @@ -19,6 +19,7 @@ import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import com.minres.scviewer.database.HierNode; import com.minres.scviewer.database.IHierNode; @@ -80,7 +81,7 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL */ public WaveformDb() { super(); - waveforms = new HashMap<>(); + waveforms = new ConcurrentHashMap<>(); relationTypes = new ArrayList<>(); maxTime = 0L; } @@ -193,7 +194,7 @@ public class WaveformDb extends HierNode implements IWaveformDb, PropertyChangeL /** * Builds the hierarchy nodes. */ - private void buildHierarchyNodes() { + private synchronized void buildHierarchyNodes() { boolean needsSorting = false; for (IWaveform stream : getAllWaves()) { if (stream.getParent() == null) {