1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Added synchronization on fTaskQueue to PDOMManager.isIndexerIdle()

This commit is contained in:
Sergey Prigogin 2012-08-22 15:12:48 -07:00
parent 4f739bda84
commit 6b3627d0f4

View file

@ -720,8 +720,10 @@ public class PDOMManager implements IWritableIndexManager, IListener {
@Override @Override
public boolean isIndexerIdle() { public boolean isIndexerIdle() {
synchronized (fTaskQueue) {
return Job.getJobManager().find(this).length == 0; return Job.getJobManager().find(this).length == 0;
} }
}
void addProject(final ICProject cproject) { void addProject(final ICProject cproject) {
final String name = cproject.getProject().getName(); final String name = cproject.getProject().getName();
@ -1097,7 +1099,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
@Override @Override
public void done(IJobChangeEvent event) { public void done(IJobChangeEvent event) {
synchronized (idleCondition) { synchronized (idleCondition) {
if (Job.getJobManager().find(PDOMManager.this).length == 0) { if (isIndexerIdle()) {
idleCondition[0] = true; idleCondition[0] = true;
idleCondition.notifyAll(); idleCondition.notifyAll();
} }
@ -1106,7 +1108,7 @@ public class PDOMManager implements IWritableIndexManager, IListener {
}; };
Job.getJobManager().addJobChangeListener(listener); Job.getJobManager().addJobChangeListener(listener);
try { try {
if (Job.getJobManager().find(this).length == 0) { if (isIndexerIdle()) {
return true; return true;
} }
synchronized (idleCondition) { synchronized (idleCondition) {