From 2be9f2606978ba39668292318da23f3985cb608b Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Wed, 22 Aug 2012 15:12:48 -0700 Subject: [PATCH] Added synchronization on fTaskQueue to PDOMManager.isIndexerIdle() --- .../org/eclipse/cdt/internal/core/pdom/PDOMManager.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java index 609d2d334bf..13dbeb38268 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java @@ -720,7 +720,9 @@ public class PDOMManager implements IWritableIndexManager, IListener { @Override public boolean isIndexerIdle() { - return Job.getJobManager().find(this).length == 0; + synchronized (fTaskQueue) { + return Job.getJobManager().find(this).length == 0; + } } void addProject(final ICProject cproject) { @@ -1097,7 +1099,7 @@ public class PDOMManager implements IWritableIndexManager, IListener { @Override public void done(IJobChangeEvent event) { synchronized (idleCondition) { - if (Job.getJobManager().find(PDOMManager.this).length == 0) { + if (isIndexerIdle()) { idleCondition[0] = true; idleCondition.notifyAll(); } @@ -1106,7 +1108,7 @@ public class PDOMManager implements IWritableIndexManager, IListener { }; Job.getJobManager().addJobChangeListener(listener); try { - if (Job.getJobManager().find(this).length == 0) { + if (isIndexerIdle()) { return true; } synchronized (idleCondition) {