Index: JobManager.java =================================================================== RCS file: /home/eclipse/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java,v retrieving revision 1.91 diff -u -r1.91 JobManager.java --- JobManager.java 10 Jun 2004 19:28:45 -0000 1.91 +++ JobManager.java 24 Jun 2004 16:05:28 -0000 @@ -798,7 +798,17 @@ //notify listeners outside sync block jobListeners.scheduled((Job) job, delay, reschedule); //schedule the job - doSchedule(job, delay); + synchronized (lock) { + //must reassert scheduling conditions because listeners + //could reschedule the same job (bug 68452) + if (job.getState() == Job.RUNNING) { + job.setStartTime(delay); + return; + } + if (job.getState() != Job.NONE) + return; + doSchedule(job, delay); + } //call the pool outside sync block to avoid deadlock pool.jobQueued(job); }