diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.core')
2 files changed, 7 insertions, 1 deletions
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. * |