From f601ac355f3849cd463f20c176f5d97e52524a9d Mon Sep 17 00:00:00 2001 From: Matthew Khouzam Date: Thu, 26 May 2016 13:13:08 -0400 Subject: [PATCH] segstore.core: Synchronize isEmpty This avoids race conditions Change-Id: Ifb252a4011aed88118b2db8abd6c49be49c0d175 Signed-off-by: Matthew Khouzam Reviewed-on: https://git.eclipse.org/r/73744 Reviewed-by: Jean-Christian Kouame Tested-by: Jean-Christian Kouame Reviewed-by: Hudson CI --- .../analysis/timing/core/store/ArrayListStore.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/store/ArrayListStore.java b/analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/store/ArrayListStore.java index 86c67351ed..b0a1638fcc 100644 --- a/analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/store/ArrayListStore.java +++ b/analysis/org.eclipse.tracecompass.analysis.timing.core/src/org/eclipse/tracecompass/internal/analysis/timing/core/store/ArrayListStore.java @@ -134,7 +134,12 @@ public class ArrayListStore<@NonNull E extends ISegment> implements ISegmentStor @Override public boolean isEmpty() { - return fStore.isEmpty(); + fLock.readLock().lock(); + try { + return fStore.isEmpty(); + } finally { + fLock.readLock().unlock(); + } } @Override -- 2.34.1