From d2488b2fb23f8c54f125ba906ddcecc3683f3d88 Mon Sep 17 00:00:00 2001 From: Oleg Krasilnikov Date: Thu, 21 Feb 2008 12:11:01 +0000 Subject: [PATCH] Bug 216996: Deadlock in CfgDiscoveredPathManager --- .../org/eclipse/cdt/internal/core/CConfigBasedDescriptor.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 bdb529cad5f..29764ed126a 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 @@ -298,7 +298,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);