Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Watson2006-04-06 21:33:36 +0000
committerThomas Watson2006-04-06 21:33:36 +0000
commit63d32f0ce55614d61127ff643d35a16436602b5f (patch)
tree58ab30e95dd5c195d6532bc4aa7b22fc5d259946
parent47722d0e9c61f1574f142c3e641f49d65432ee01 (diff)
downloadrt.equinox.framework-63d32f0ce55614d61127ff643d35a16436602b5f.tar.gz
rt.equinox.framework-63d32f0ce55614d61127ff643d35a16436602b5f.tar.xz
rt.equinox.framework-63d32f0ce55614d61127ff643d35a16436602b5f.zip
Added todos from Bug 50178 [osgi] Double-Checked Locking
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleContextImpl.java1
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleHost.java1
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java1
-rw-r--r--bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoaderProxy.java1
4 files changed, 4 insertions, 0 deletions
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleContextImpl.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleContextImpl.java
index 082046be6..f27da8cc2 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleContextImpl.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleContextImpl.java
@@ -863,6 +863,7 @@ public class BundleContextImpl implements BundleContext, EventDispatcher {
public Object getService(org.osgi.framework.ServiceReference reference) {
checkValid();
+ // TODO double-check lock (bug 50178)!!
if (servicesInUse == null) {
synchronized (contextLock) {
if (servicesInUse == null) {
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleHost.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleHost.java
index 5805d94c6..4d4065f36 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleHost.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleHost.java
@@ -527,6 +527,7 @@ public class BundleHost extends AbstractBundle {
}
protected BundleLoaderProxy getLoaderProxy() {
+ // TODO double-check lock (bug 50178)!!
if (proxy == null) {
synchronized (this) {
if (proxy == null) {
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
index 1fff370d5..00ef67a10 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoader.java
@@ -303,6 +303,7 @@ public class BundleLoader implements ClassLoaderDelegate {
}
final BundleClassLoader createClassLoader() {
+ // TODO double-check lock (bug 50178)!!
if (classloader != null)
return classloader;
synchronized (this) {
diff --git a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoaderProxy.java b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoaderProxy.java
index 0237635e6..6ab46bfb3 100644
--- a/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoaderProxy.java
+++ b/bundles/org.eclipse.osgi/core/framework/org/eclipse/osgi/framework/internal/core/BundleLoaderProxy.java
@@ -46,6 +46,7 @@ public class BundleLoaderProxy implements RequiredBundle {
}
BundleLoader getBundleLoader() {
+ // TODO double-check lock (bug 50178)!!
if (loader == null && bundle.isResolved()) {
synchronized (this) {
if (loader == null)

Back to the top