From 5f54e4fc840abada6d13daf5fa584f71e9a12b77 Mon Sep 17 00:00:00 2001 From: Bernd Hufmann Date: Wed, 25 Oct 2023 08:09:46 -0400 Subject: [PATCH] TmfAnalysisElement: Execute analysis in separate thread This was done in UI thread and if module.schedule blocks due to waitForCompletion (e.g. of dependent analysis) the UI thread blocks until it's finished. Change-Id: I5609f7cc06baf4e4c62c43b4fff3363415e3c1cc Signed-off-by: Bernd Hufmann --- .../tmf/ui/project/model/TmfAnalysisElement.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfAnalysisElement.java b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfAnalysisElement.java index c7470c1020..f44670fd3e 100644 --- a/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfAnalysisElement.java +++ b/tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/project/model/TmfAnalysisElement.java @@ -330,7 +330,10 @@ public IStatus scheduleAnalysis() { if (module == null) { return new Status(IStatus.INFO, Activator.PLUGIN_ID, String.format("null analysis for %s", getAnalysisHelper().getName())); //$NON-NLS-1$ } - return module.schedule(); + new Thread(() -> { + module.schedule(); + }).run(); + return Status.OK_STATUS; } /**