From 1a3f1ec3687f9b3a2ebc67aca8f796e01bfe5a04 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Genevi=C3=A8ve=20Bastien?= Date: Mon, 9 Jun 2014 15:28:13 -0400 Subject: [PATCH] TMF: Fix resource leak when trace indexer is re-created MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit That happens when a trace was created with the default constructor, a default indexer is set and when the trace is initialized, a new indexer is created again, but the previous one is not disposed and the file remains opened. Change-Id: I1cb163130563419c81833fd9d383a3eeb2a4f9ee Signed-off-by: Geneviève Bastien Reviewed-on: https://git.eclipse.org/r/28221 Reviewed-by: Alexandre Montplaisir Tested-by: Hudson CI --- .../src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java index e220ccf66f..057cc22881 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java @@ -249,6 +249,9 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace { super.init(traceName, type); // register as VIP after super.init() because TmfComponent registers to signal manager there TmfSignalManager.registerVIP(this); + if (fIndexer != null) { + fIndexer.dispose(); + } fIndexer = createIndexer(fCacheSize); } -- 2.34.1