/** * Returns a new or reused ThreadJob instance. * @GuardedBy("this") */ private ThreadJob newThreadJob(ISchedulingRule rule) { if (jobCache != null) { ThreadJob job = jobCache; // calling setRule will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we managing this special job // ourselves we can call internalSetRule ((InternalJob) job).internalSetRule(rule); job.acquireRule = job.isRunning = false; job.realJob = null; jobCache = null; return job; } return new ThreadJob(rule); }
/** * Returns a new or reused ThreadJob instance. * @GuardedBy("this") */ private ThreadJob newThreadJob(ISchedulingRule rule) { if (jobCache != null) { ThreadJob job = jobCache; // calling setRule will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we managing this special job // ourselves we can call internalSetRule ((InternalJob) job).internalSetRule(rule); job.acquireRule = job.isRunning = false; job.realJob = null; jobCache = null; return job; } return new ThreadJob(rule); }
/** * Returns a new or reused ThreadJob instance. * @GuardedBy("this") */ private ThreadJob newThreadJob(ISchedulingRule rule) { if (jobCache != null) { ThreadJob job = jobCache; // calling setRule will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we managing this special job // ourselves we can call internalSetRule ((InternalJob) job).internalSetRule(rule); job.acquireRule = job.isRunning = false; job.realJob = null; jobCache = null; return job; } return new ThreadJob(rule); }
ThreadJob(ISchedulingRule rule) { super("Implicit Job"); //$NON-NLS-1$ setSystem(true); // calling setPriority will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we are constructing this thread, // we can call internalSetPriority ((InternalJob) this).internalSetPriority(Job.INTERACTIVE); ruleStack = new ISchedulingRule[2]; top = -1; ((InternalJob) this).internalSetRule(rule); }
ThreadJob(ISchedulingRule rule) { super("Implicit Job"); //$NON-NLS-1$ setSystem(true); // calling setPriority will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we are constructing this thread, // we can call internalSetPriority ((InternalJob) this).internalSetPriority(Job.INTERACTIVE); ruleStack = new ISchedulingRule[2]; top = -1; ((InternalJob) this).internalSetRule(rule); }
ThreadJob(ISchedulingRule rule) { super("Implicit Job"); //$NON-NLS-1$ setSystem(true); // calling setPriority will try to acquire JobManager.lock, breaking // lock acquisition protocol. Since we are constructing this thread, // we can call internalSetPriority ((InternalJob) this).internalSetPriority(Job.INTERACTIVE); ruleStack = new ISchedulingRule[2]; top = -1; ((InternalJob) this).internalSetRule(rule); }
public void setRule(InternalJob job, ISchedulingRule rule) { synchronized (lock) { //cannot change the rule of a job that is already running Assert.isLegal(job.getState() == Job.NONE); validateRule(rule); job.internalSetRule(rule); } }
public void setRule(InternalJob job, ISchedulingRule rule) { synchronized (lock) { //cannot change the rule of a job that is already running Assert.isLegal(job.getState() == Job.NONE); validateRule(rule); job.internalSetRule(rule); } }
public void setRule(InternalJob job, ISchedulingRule rule) { synchronized (lock) { //cannot change the rule of a job that is already running Assert.isLegal(job.getState() == Job.NONE); validateRule(rule); job.internalSetRule(rule); } }
public void setRule(InternalJob job, ISchedulingRule rule) { synchronized (lock) { //cannot change the rule of a job that is already running Assert.isLegal(job.getState() == Job.NONE); validateRule(rule); job.internalSetRule(rule); } }