From: Patrick Tasse Date: Wed, 18 Jul 2012 15:25:21 +0000 (-0400) Subject: Fix for bug 385419: Streaming issues with legacy LTTng traces. X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=6be2d5cc324239ee1ae679bf0f6a9c9c05331e2f;p=deliverable%2Ftracecompass.git Fix for bug 385419: Streaming issues with legacy LTTng traces. --- diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java index b7ccb1cbbc..f6057d30e0 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java @@ -207,9 +207,7 @@ public class LTTngTrace extends TmfTrace implements ITmfEventParser< updateJniTrace(); } }; - synchronized (experiment) { - experiment.sendRequest(request); - } + experiment.sendRequest(request); try { request.waitForCompletion(); } catch (final InterruptedException e) { diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java index 07ac017010..5c13ebf55a 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java @@ -461,6 +461,7 @@ public class TmfExperiment extends TmfTrace implements I final Thread thread = new Thread("Streaming Monitor for experiment " + getName()) { //$NON-NLS-1$ private ITmfTimestamp safeTimestamp = null; + private ITmfTimestamp lastSafeTimestamp = null; private TmfTimeRange timeRange = null; @Override @@ -477,8 +478,9 @@ public class TmfExperiment extends TmfTrace implements I endTimestamp = trace.getEndTime(); } } - if (safeTimestamp != null && safeTimestamp.compareTo(getTimeRange().getEndTime(), false) > 0) { + if (safeTimestamp != null && (lastSafeTimestamp == null || safeTimestamp.compareTo(lastSafeTimestamp, false) > 0)) { timeRange = new TmfTimeRange(startTimestamp, safeTimestamp); + lastSafeTimestamp = safeTimestamp; } else { timeRange = null; }