From 860ac5e46e5ef204ad2c394177b50a5067e59a3e Mon Sep 17 00:00:00 2001 From: slewis Date: Tue, 28 Apr 2009 16:34:52 +0000 Subject: Fix for bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=274078 --- .../internal/provider/filetransfer/Activator.java | 23 ++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) (limited to 'providers') diff --git a/providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/internal/provider/filetransfer/Activator.java b/providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/internal/provider/filetransfer/Activator.java index 7d1e77b93..7207d7c65 100644 --- a/providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/internal/provider/filetransfer/Activator.java +++ b/providers/bundles/org.eclipse.ecf.provider.filetransfer/src/org/eclipse/ecf/internal/provider/filetransfer/Activator.java @@ -176,14 +176,16 @@ public class Activator implements BundleActivator { // } - protected synchronized LogService getLogService() { - if (this.context == null) - return null; - if (logServiceTracker == null) { - logServiceTracker = new ServiceTracker(this.context, LogService.class.getName(), null); - logServiceTracker.open(); + protected LogService getLogService() { + synchronized (this) { + if (this.context == null) + return null; + if (logServiceTracker == null) { + logServiceTracker = new ServiceTracker(this.context, LogService.class.getName(), null); + logServiceTracker.open(); + } + return (LogService) logServiceTracker.getService(); } - return (LogService) logServiceTracker.getService(); } public IProxyService getProxyService() { @@ -262,8 +264,6 @@ public class Activator implements BundleActivator { * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext ctxt) throws Exception { - plugin = null; - this.context = null; final IExtensionRegistry registry = getExtensionRegistry(); if (registry != null) { registry.removeRegistryChangeListener(registryChangeListener); @@ -289,7 +289,6 @@ public class Activator implements BundleActivator { proxyServiceTracker.close(); proxyServiceTracker = null; } - this.context = null; if (this.retrieveFileTransferProtocolMap != null) { this.retrieveFileTransferProtocolMap.clear(); this.retrieveFileTransferProtocolMap = null; @@ -302,6 +301,10 @@ public class Activator implements BundleActivator { this.browseFileTransferProtocolMap.clear(); this.browseFileTransferProtocolMap = null; } + synchronized (this) { + this.context = null; + } + plugin = null; } /** -- cgit v1.2.3