Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSusan Franklin2010-04-19 17:38:28 +0000
committerSusan Franklin2010-04-19 17:38:28 +0000
commitf0d0f8108745e684246a109c8f47af9f3ead2da8 (patch)
treeb5561706b09b16ca443bd228a8504b6f7a16716c /bundles/org.eclipse.equinox.p2.ui
parent03d13e1a0fb48c7c1ae94737708c7fa481cc717c (diff)
downloadrt.equinox.p2-f0d0f8108745e684246a109c8f47af9f3ead2da8.tar.gz
rt.equinox.p2-f0d0f8108745e684246a109c8f47af9f3ead2da8.tar.xz
rt.equinox.p2-f0d0f8108745e684246a109c8f47af9f3ead2da8.zip
Bug 305163 - [ui] ProvisioningJob still running late in shutdown process
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui')
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
index 6b0e5d898..9075aa4fd 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java
@@ -11,15 +11,14 @@
package org.eclipse.equinox.internal.p2.ui;
import java.net.URL;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.*;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper;
import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus;
import org.eclipse.equinox.p2.core.IProvisioningAgent;
import org.eclipse.equinox.p2.engine.IProfileRegistry;
import org.eclipse.equinox.p2.operations.ProvisioningSession;
-import org.eclipse.equinox.p2.ui.Policy;
-import org.eclipse.equinox.p2.ui.ProvisioningUI;
+import org.eclipse.equinox.p2.ui.*;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.ui.plugin.AbstractUIPlugin;
@@ -89,6 +88,12 @@ public class ProvUIActivator extends AbstractUIPlugin {
public void stop(BundleContext bundleContext) throws Exception {
try {
+ // cancel any repository load jobs started in the UI
+ Job.getJobManager().cancel(LoadMetadataRepositoryJob.LOAD_FAMILY);
+ // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=305163
+ // join the jobs so that this bundle does not stop until the jobs are
+ // actually cancelled.
+ Job.getJobManager().join(LoadMetadataRepositoryJob.LOAD_FAMILY, new NullProgressMonitor());
plugin = null;
ProvUIActivator.context = null;
ui = null;

Back to the top