Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 68452 | Differences between
and this patch

Collapse All | Expand All

(-)JobManager.java (-1 / +11 lines)
Lines 798-804 Link Here
798
		//notify listeners outside sync block
798
		//notify listeners outside sync block
799
		jobListeners.scheduled((Job) job, delay, reschedule);
799
		jobListeners.scheduled((Job) job, delay, reschedule);
800
		//schedule the job
800
		//schedule the job
801
		doSchedule(job, delay);
801
		synchronized (lock) {
802
			//must reassert scheduling conditions because listeners 
803
			//could reschedule the same job (bug 68452)
804
			if (job.getState() == Job.RUNNING) {
805
				job.setStartTime(delay);
806
				return;
807
			}
808
			if (job.getState() != Job.NONE)
809
				return;
810
			doSchedule(job, delay);
811
		}
802
		//call the pool outside sync block to avoid deadlock
812
		//call the pool outside sync block to avoid deadlock
803
		pool.jobQueued(job);
813
		pool.jobQueued(job);
804
	}
814
	}

Return to bug 68452