Bug 384204 - Deadlock in EclipsePreferences.shareStrings
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 9203459..1e98e4e 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
@@ -369,7 +369,6 @@
 			String fullPath = addSeparator ? prefix + PATH_SEPARATOR + child.name() : child.name();
 			child.convertToProperties(result, fullPath);
 		}
-		PreferencesService.getDefault().shareStrings();
 		return result;
 	}
 
@@ -428,6 +427,7 @@
 		synchronized (childAndPropertyLock) {
 			internalFlush();
 		}
+		PreferencesService.getDefault().shareStrings();
 	}
 
 	/*