From a33d942f28859569ee58617ac49f32a4cad765f7 Mon Sep 17 00:00:00 2001 From: David Inglis Date: Mon, 12 Jan 2004 16:38:38 +0000 Subject: [PATCH] fixed 49851 - deadlock when binary parser was changed while binary runner was running for that project. --- core/org.eclipse.cdt.core/ChangeLog | 8 ++++++++ .../eclipse/cdt/internal/core/model/CModelManager.java | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/ChangeLog b/core/org.eclipse.cdt.core/ChangeLog index c644e9e20f1..5fb69bf1934 100644 --- a/core/org.eclipse.cdt.core/ChangeLog +++ b/core/org.eclipse.cdt.core/ChangeLog @@ -1,3 +1,11 @@ +2004-1-5 David Inglis + + PR 49851 + Fixed deadlock when binary parser was changed while binary runner was running + for that project. + + * model/org/eclipse/cdt/internal/core/model/CModelManager.java + 2004-01-09 Alain Magloire * utils/org/eclipse/cdt/utils/coff/parser/BinaryObject.java diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java index e2d9d93794b..080f830872b 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelManager.java @@ -342,7 +342,7 @@ public class CModelManager implements IResourceChangeListener { CProjectInfo info = (CProjectInfo)peekAtInfo(cproject); if (info != null && info.vBin != null) { if (peekAtInfo(info.vBin) != null) { - IBinary[] bins = info.vBin.getBinaries(); + ICElement[] bins = info.getChildren(); for (int i = 0; i < bins.length; i++) { if (celement.getPath().isPrefixOf(bins[i].getPath())) { CElementDelta delta = new CElementDelta(getCModel()); @@ -355,7 +355,7 @@ public class CModelManager implements IResourceChangeListener { } if (info != null && info.vLib != null) { if (peekAtInfo(info.vLib) != null) { - IArchive[] ars = info.vLib.getArchives(); + ICElement[] ars = info.vLib.getChildren(); for (int i = 0; i < ars.length; i++) { if (celement.getPath().isPrefixOf(ars[i].getPath())) { CElementDelta delta = new CElementDelta(getCModel());