Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2010-04-16 09:22:46 -0400
committerThomas Watson2010-04-16 09:22:46 -0400
commitbdbc6c8fb009382ace78ffa19744c4b920d459e3 (patch)
tree2f95db99cb1aefba30d15d03d0141fc5fff89786
parentbb0587cef5a1d063576fb6c4526404427b8bdd1a (diff)
downloadrt.equinox.framework-bdbc6c8fb009382ace78ffa19744c4b920d459e3.tar.gz
rt.equinox.framework-bdbc6c8fb009382ace78ffa19744c4b920d459e3.tar.xz
rt.equinox.framework-bdbc6c8fb009382ace78ffa19744c4b920d459e3.zip
Bug 309261 - System bundle becomes active before the other bundles are started
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/StartLevelManager.java6
1 files changed, 1 insertions, 5 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/StartLevelManager.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/StartLevelManager.java
index 5ecc3e39a..96e0c2092 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/StartLevelManager.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/StartLevelManager.java
@@ -233,11 +233,6 @@ public class StartLevelManager implements EventDispatcher, EventListener, StartL
int tempSL = activeSL;
if (newSL > tempSL) {
boolean launching = tempSL == 0;
- if (launching) {
- // TODO this technically should be done just before firing the STARTED event for the system bundle;
- // TODO State is set to ACTIVE here because some depend on the the system bundle being in the ACTIVE state when they are starting
- framework.systemBundle.state = Bundle.ACTIVE;
- }
for (int i = tempSL; i < newSL; i++) {
if (Debug.DEBUG && Debug.DEBUG_STARTLEVEL) {
Debug.println("sync - incrementing Startlevel from " + tempSL); //$NON-NLS-1$
@@ -248,6 +243,7 @@ public class StartLevelManager implements EventDispatcher, EventListener, StartL
incFWSL(i + 1, getInstalledBundles(framework.bundles, false));
}
if (launching) {
+ framework.systemBundle.state = Bundle.ACTIVE;
framework.publishBundleEvent(BundleEvent.STARTED, framework.systemBundle);
framework.publishFrameworkEvent(FrameworkEvent.STARTED, framework.systemBundle, null);
}

Back to the top