From 28e2c4151f5cbbb60330f7e9fa77277361dc6023 Mon Sep 17 00:00:00 2001 From: Simon Barner <barner@fortiss.org> Date: Wed, 9 Mar 2016 12:40:40 +0000 Subject: [PATCH] - Handle cancellation requests in while() loop handling list of elements to be refreshed. - Avoids error "Job found still running after platform shutdown. Jobs should be canceled by the plugin that scheduled them during shutdown" found when investigating #2511. More precisely, the error is triggered after open all 3 deployments, when AF3 is closed while the MarkerService has not finished yet. refs 2511 --- .../fortiss/tooling/kernel/ui/internal/MarkerService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java index 4df97c778..5850a190e 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/MarkerService.java @@ -52,7 +52,7 @@ import org.fortiss.tooling.kernel.ui.service.IMarkerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: C6F05FD1064BC3906A9B370FD7A86DA6 + * @ConQAT.Rating YELLOW Hash: EA3CCA4A0C6BD17680255C1E8B2EF742 */ public class MarkerService implements IMarkerService, IPersistencyServiceListener { @@ -97,6 +97,9 @@ public class MarkerService implements IMarkerService, IPersistencyServiceListene toBeRefreshed = invalidElements.remove(0); } while(toBeRefreshed != null) { + if(monitor.isCanceled()) { + return Status.CANCEL_STATUS; + } refreshMarkers(toBeRefreshed); // get next element to be refreshed synchronized(invalidElements) { -- GitLab