From c7e3993dbc2a105cc3a1dd2ded840cba720a7abd Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Thu, 6 Sep 2012 15:31:46 -0700 Subject: [PATCH] Removed unnecessary synchronization. --- .../core/resources/PathCanonicalizationStrategy.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/PathCanonicalizationStrategy.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/PathCanonicalizationStrategy.java index 2ac47ca4ba9..e592fb95ab6 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/PathCanonicalizationStrategy.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/resources/PathCanonicalizationStrategy.java @@ -20,14 +20,14 @@ import java.io.IOException; * symbolic links is undesirable. The default is to use File.getCanonicalPath. */ public abstract class PathCanonicalizationStrategy { - private static PathCanonicalizationStrategy instance; + private static volatile PathCanonicalizationStrategy instance; static { setPathCanonicalization(true); } public static String getCanonicalPath(File file) { - return getInstance().getCanonicalPathInternal(file); + return instance.getCanonicalPathInternal(file); } /** @@ -38,7 +38,7 @@ public abstract class PathCanonicalizationStrategy { * @param canonicalize true to use File.getCanonicalPath, false * to use File.getAbsolutePath. */ - public static synchronized void setPathCanonicalization(boolean canonicalize) { + public static void setPathCanonicalization(boolean canonicalize) { if (canonicalize) { instance = new PathCanonicalizationStrategy() { @Override @@ -60,9 +60,5 @@ public abstract class PathCanonicalizationStrategy { } } - private static synchronized PathCanonicalizationStrategy getInstance() { - return instance; - } - protected abstract String getCanonicalPathInternal(File file); }