Bug 54445 [Jobs] Duplicate search marker jobs
Build 20040310 While doing operations, I got locked while a build was running. Looking at the progress, I observed there were 3 instances of a searching marker job in the queue, awaiting to proceed. The scheduling of these search jobs should be smart enough to avoid stepping on itself. If it is already scheduled, it shouldn't reschedule one, or if doing so, it should cancel pre-enqueued one.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/RestartableJob.java
if (restartNeeded) {
						scheduleInService();
					}
				}
			}
		});
	}
	
	/**
	 * Instantiates the actual Job object.
	 * 
	 * @param name
	 */
	private void createJob(String name) {
		theJob = new Job(name) {
			protected IStatus run(IProgressMonitor innerMonitor) {
				try {
					synchronized(lock) {
						restartNeeded = false;
						currentMonitor = innerMonitor;
					}
					runnable.run(innerMonitor);
				} catch (InvocationTargetException e) {
					return StatusUtil.newStatus(IStatus.ERROR, e.toString(), e.getTargetException());
				} catch (InterruptedException e) {
					return Status.CANCEL_STATUS;
				}
				if (innerMonitor.isCanceled()) {
					return Status.CANCEL_STATUS;
				} else {