Don't allow job to schedule if already scheduled
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java index 5a4d6af..f8c62f6 100644 --- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java +++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java
@@ -295,6 +295,9 @@ protected void schedule(InternalJob job, long delay) { Assert.isNotNull(job, "Job is null"); //$NON-NLS-1$ synchronized (lock) { + //can't schedule a job that is already waiting, sleeping, or running + if (job.getState() != Job.NONE) + return; if (delay > 0) { job.setState(Job.SLEEPING); job.setStartTime(System.currentTimeMillis() + delay);