diff options
-rw-r--r-- | core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java index d8b5a56d50a..6dc36c1ffb7 100644 --- a/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java +++ b/core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java @@ -293,7 +293,8 @@ public class CConfigBasedDescriptor implements ICDescriptor { } public Element getProjectData(String id) throws CoreException { - synchronized(CProjectDescriptionManager.getInstance()){ + // avoid deadlock by using different lock here. + synchronized(fStorageDataElMap /*CProjectDescriptionManager.getInstance()*/){ Element el = (Element)fStorageDataElMap.get(id); if(el == null || el.getParentNode() == null){ InternalXmlStorageElement storageEl = (InternalXmlStorageElement)fCfgDes.getStorage(id, false); |