From 48a2c7e826d8d8a204c2d7657feccb5a224d1bc6 Mon Sep 17 00:00:00 2001 From: Pascal Rapicault Date: Sat, 10 Apr 2010 00:48:32 +0000 Subject: Bug 303990 - MetaRequirement seems broken... --- .../src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java | 5 ++++- .../src/org/eclipse/equinox/p2/core/IProvisioningAgent.java | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox') diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java index f340760ab..938e11f97 100644 --- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java +++ b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/ProvisioningAgent.java @@ -36,6 +36,8 @@ public class ProvisioningAgent implements IProvisioningAgent, ServiceTrackerCust */ public ProvisioningAgent() { super(); + registerService(IProvisioningAgent.INSTALLER_AGENT, this); + registerService(IProvisioningAgent.INSTALLER_PROFILEID, "_SELF_"); //$NON-NLS-1$ } /* (non-Javadoc) @@ -122,7 +124,8 @@ public class ProvisioningAgent implements IProvisioningAgent, ServiceTrackerCust //give services a chance to do their own shutdown for (Object service : agentServices.values()) { if (service instanceof IAgentService) - ((IAgentService) service).stop(); + if (service != this) + ((IAgentService) service).stop(); } synchronized (this) { stopped = true; diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java index 0086e0d87..b6c20e14c 100644 --- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java +++ b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/p2/core/IProvisioningAgent.java @@ -36,6 +36,9 @@ public interface IProvisioningAgent { */ public static final String SERVICE_NAME = IProvisioningAgent.class.getName(); + public static final String INSTALLER_AGENT = "org.eclipse.equinox.p2.installer.agent"; //$NON-NLS-1$ + public static final String INSTALLER_PROFILEID = "org.eclipse.equinox.p2.installer.profile.id"; //$NON-NLS-1$ + /** * Service property identifying whether an agent is the default agent. * -- cgit v1.2.3