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
return Status.OK_STATUS;
				}
			}
		};
		
		theJob.setPriority(Job.DECORATE);
	}
	
	/**
	 * Aborts the currently running job (if any) by cancelling its progress
	 * monitor, and reschedules it. If there is no currently running job,
	 * it will be started.
	 */
	public void restart() {
		synchronized(lock) {
			if (currentMonitor == null) {
				scheduleInService();
			} else if (!restartNeeded) {
				restartNeeded = true;
				theJob.cancel();
			}
		}
	}
	/**
	 * Schedules the job. Does nothing if the job is already running. 
	 */
	public void schedule() {
		synchronized(lock) {
			if (currentMonitor == null) {
				scheduleInService();