From 9fcb60ea110d05a58d277a8df1a74819df8a1a2d Mon Sep 17 00:00:00 2001 From: Simon Kaegi Date: Mon, 27 Apr 2009 15:00:21 +0000 Subject: Bug 262906 [http.registry]initializeDelegate in ServletManager.ServletWrapper should be synchronized --- .../equinox/http/registry/internal/ServletManager.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/bundles/org.eclipse.equinox.http.registry/src/org/eclipse/equinox/http/registry/internal/ServletManager.java b/bundles/org.eclipse.equinox.http.registry/src/org/eclipse/equinox/http/registry/internal/ServletManager.java index d22aa7d54..cb6a3e737 100644 --- a/bundles/org.eclipse.equinox.http.registry/src/org/eclipse/equinox/http/registry/internal/ServletManager.java +++ b/bundles/org.eclipse.equinox.http.registry/src/org/eclipse/equinox/http/registry/internal/ServletManager.java @@ -72,7 +72,7 @@ public class ServletManager implements ExtensionPointTracker.Listener { IConfigurationElement serviceSelectorElement = elements[i]; if (!SERVICESELECTOR.equals(serviceSelectorElement.getName())) continue; - + org.osgi.framework.Filter serviceSelector = null; String clazz = serviceSelectorElement.getAttribute(CLASS); if (clazz != null) { @@ -87,7 +87,7 @@ public class ServletManager implements ExtensionPointTracker.Listener { String filter = serviceSelectorElement.getAttribute(FILTER); if (filter == null) return; - + try { serviceSelector = FrameworkUtil.createFilter(filter); } catch (InvalidSyntaxException e) { @@ -96,13 +96,13 @@ public class ServletManager implements ExtensionPointTracker.Listener { return; } } - - if (! serviceSelector.match(reference)) + + if (!serviceSelector.match(reference)) return; - + break; - } - + } + for (int i = 0; i < elements.length; i++) { IConfigurationElement servletElement = elements[i]; if (!SERVLET.equals(servletElement.getName())) @@ -188,7 +188,7 @@ public class ServletManager implements ExtensionPointTracker.Listener { destroyDelegate(); } - private void initializeDelegate() throws ServletException { + private synchronized void initializeDelegate() throws ServletException { if (delegate == null) { try { Servlet newDelegate = (Servlet) element.createExecutableExtension(CLASS); @@ -200,7 +200,7 @@ public class ServletManager implements ExtensionPointTracker.Listener { } } - private void destroyDelegate() { + private synchronized void destroyDelegate() { if (delegate != null) { Servlet doomedDelegate = delegate; delegate = null; -- cgit v1.2.3