Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java3
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);

Back to the top