From: Matthew Khouzam Date: Thu, 26 May 2016 17:13:08 +0000 (-0400) Subject: segstore.core: Synchronize isEmpty X-Git-Url: http://git.efficios.com/?p=deliverable%2Ftracecompass.git;a=commitdiff_plain;h=f601ac355f3849cd463f20c176f5d97e52524a9d 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 --- 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