From e9f3066ac67e3ac24a088ce258ace63bc007ebe6 Mon Sep 17 00:00:00 2001 From: Andrew Niefer Date: Mon, 14 Jun 2004 18:21:28 +0000 Subject: [PATCH] bug 67001 - synchronize indexer job countdown, and only process job cancel on tickdown --- .../internal/core/search/processing/IndexingJob.java | 10 +++------- .../internal/core/search/processing/JobManager.java | 4 ++-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java index a913ac760dd..6695f264b88 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/IndexingJob.java @@ -61,18 +61,14 @@ public class IndexingJob extends Job { return ASYNC_FINISH; } - public void tickUp(){ - if( progressMonitor != null && progressMonitor.isCanceled() ){ - jobManager.pause(); - return; - } + synchronized public void tickUp(){ ticks++; if( ticks > maxTicks ) maxTicks = ticks; updateRemainingCount( null ); } - public void setTicks( int n ){ + synchronized public void setTicks( int n ){ ticks = n; if( maxTicks < ticks ) maxTicks = ticks; @@ -81,7 +77,7 @@ public class IndexingJob extends Job { updateRemainingCount( null ); } - public int tickDown( String str ){ + synchronized public int tickDown( String str ){ if( progressMonitor != null && progressMonitor.isCanceled() ){ jobManager.pause(); return 0; diff --git a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/JobManager.java b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/JobManager.java index 1c8b1298137..2bf6071588f 100644 --- a/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/JobManager.java +++ b/core/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/processing/JobManager.java @@ -150,7 +150,7 @@ public abstract class JobManager implements Runnable { JobManager.verbose("-> discarding background job - " + currentJob); //$NON-NLS-1$ currentJob.cancel(); if( indexJob != null ){ - if( indexJob.tickDown( null ) == 0 ){ + if( indexJob.tickDown( null ) <= 0 ){ indexJob.done( OK_STATUS ); indexJob = null; } @@ -211,7 +211,7 @@ public abstract class JobManager implements Runnable { progressString += job.toString(); progressString += ")"; //$NON-NLS-1$ } - if( indexJob.tickDown( progressString ) == 0 ){ + if( indexJob.tickDown( progressString ) <= 0 ){ indexJob.done( OK_STATUS ); indexJob = null; }