From 6be2d5cc324239ee1ae679bf0f6a9c9c05331e2f Mon Sep 17 00:00:00 2001 From: Patrick Tasse Date: Wed, 18 Jul 2012 11:25:21 -0400 Subject: [PATCH] Fix for bug 385419: Streaming issues with legacy LTTng traces. --- .../linuxtools/internal/lttng/core/trace/LTTngTrace.java | 4 +--- .../org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java | 4 +++- 2 files changed, 4 insertions(+), 4 deletions(-) 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; } -- 2.34.1