From 49e7087b9bafad0e18a0064cd935e69fd82b13a6 Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Mon, 12 Oct 2020 09:33:49 -0400 Subject: [PATCH] #952 Resolves issue with concurrent access to processing chain map. (#953) Co-authored-by: Denny --- .../dsheirer/controller/channel/ChannelProcessingManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/dsheirer/controller/channel/ChannelProcessingManager.java b/src/main/java/io/github/dsheirer/controller/channel/ChannelProcessingManager.java index bd68cc6a..197f8513 100644 --- a/src/main/java/io/github/dsheirer/controller/channel/ChannelProcessingManager.java +++ b/src/main/java/io/github/dsheirer/controller/channel/ChannelProcessingManager.java @@ -56,9 +56,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; @@ -73,7 +73,7 @@ public class ChannelProcessingManager implements Listener { private final static Logger mLog = LoggerFactory.getLogger(ChannelProcessingManager.class); private static final String TUNER_UNAVAILABLE_DESCRIPTION = "TUNER UNAVAILABLE"; - private Map mProcessingChains = new HashMap<>(); + private Map mProcessingChains = new ConcurrentHashMap<>(); private List> mAudioSegmentListeners = new CopyOnWriteArrayList<>(); private List> mDecodeEventListeners = new CopyOnWriteArrayList<>();