/** * Indicates the start of a wait on a scheduling rule. Report the * blockage to the progress manager and update the lock manager. * @param monitor The monitor to report blocking to * @param blockingJob The job that is blocking this thread, or <code>null</code> */ private void waitStart(IProgressMonitor monitor, InternalJob blockingJob) { manager.getLockManager().addLockWaitThread(Thread.currentThread(), getRule()); isBlocked = true; manager.reportBlocked(monitor, blockingJob); } }
return true; final Thread currentThread = Thread.currentThread(); manager.addLockWaitThread(currentThread, this); try { success = semaphore.acquire(delay);
return true; final Thread currentThread = Thread.currentThread(); manager.addLockWaitThread(currentThread, this); try { success = semaphore.acquire(delay);
return true; final Thread currentThread = Thread.currentThread(); manager.addLockWaitThread(currentThread, this); try { success = semaphore.acquire(delay);
if (semaphore == null) return true; manager.addLockWaitThread(Thread.currentThread(), this); try { success = semaphore.acquire(delay);
manager.getLockManager().addLockWaitThread(currentThread, threadJob.getRule()); synchronized (blockingJob.jobStateLock) { try {
manager.getLockManager().addLockWaitThread(currentThread, threadJob.getRule()); synchronized (blockingJob.jobStateLock) { try {
manager.getLockManager().addLockWaitThread(currentThread, threadJob.getRule()); synchronized (blockingJob.jobStateLock) { try {