diff options
| author | dj | 2011-10-11 19:33:21 +0000 |
|---|---|---|
| committer | dj | 2011-10-11 19:33:21 +0000 |
| commit | f81da88c2918758cb73695b3ebd3931670fcfb7a (patch) | |
| tree | 071ebb944b4f4a6f71b6ac9e8ff7446f6565fa2c | |
| parent | 2607f050eb20c418a2b56437cdb388a397ebc207 (diff) | |
| download | rt.equinox.bundles-f81da88c2918758cb73695b3ebd3931670fcfb7a.tar.gz rt.equinox.bundles-f81da88c2918758cb73695b3ebd3931670fcfb7a.tar.xz rt.equinox.bundles-f81da88c2918758cb73695b3ebd3931670fcfb7a.zip | |
Bug 351231 - [prefs] EclipsePreferences#flush method should bev20111011-1933R37x_v20111011-1530R37x_v20111011
synchronized
| -rw-r--r-- | bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF | 2 | ||||
| -rw-r--r-- | bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/EclipsePreferences.java | 10 |
2 files changed, 10 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF index 28881c6e8..4a168b61f 100644 --- a/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.preferences/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.equinox.preferences; singleton:=true -Bundle-Version: 3.4.1.qualifier +Bundle-Version: 3.4.2.qualifier Bundle-Activator: org.eclipse.core.internal.preferences.Activator Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/EclipsePreferences.java b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/EclipsePreferences.java index 816bd10e0..10dbe6c11 100644 --- a/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/EclipsePreferences.java +++ b/bundles/org.eclipse.equinox.preferences/src/org/eclipse/core/internal/preferences/EclipsePreferences.java @@ -322,7 +322,15 @@ public class EclipsePreferences implements IEclipsePreferences, IScope { /* * @see org.osgi.service.prefs.Preferences#flush() */ - public void flush() throws BackingStoreException { + synchronized public void flush() throws BackingStoreException { + internalFlush(); + } + + /* + * Do the real flushing in a non-synchronized internal method so sub-classes + * (mainly ProjectPreferences and ProfilePreferences) don't cause deadlocks. + */ + protected void internalFlush() throws BackingStoreException { // illegal state if this node has been removed checkRemoved(); |
