Bug 48382 Deadlock running automated tests
I20031209 The automated tests for this build failed due to a deadlock. The stack trace is attached. All of the jobs involved are from the new marker view work. The problematic pattern is in Worker-4 and Worker-1, both of which are trying to join another job while owning an ILock. I recommend releasing the ILock before attempting to join the job.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/views/markers/internal/TableContentProvider.java
public boolean hasPendingChanges() {
		return queues.hasPendingChanges() || sortOrder != queues.getSorter();
	}
	
	/**
	 * Returns an estimate of the total work remaining (used for progress monitors)
	 * 
	 * @return
	 */
	private int totalWork() {
		return queues.workRemaining() + 1;
	}
	
	/**
	 * Starts the update thread... this will continue to make incremental changes
	 * to the viewer until the pending* sets become empty. Does nothing if the
	 * update thread is already running or if there are no changes to process.
	 */
	private void scheduleUpdate() {		
		if (hasPendingChanges()) {
			updateJob.schedule();
		}
	}
	
	/**
	 * Cancels any pending changes to the viewer. The contents of the viewer
	 * will be left in whatever state they are in at the time. Any changes that
	 * have not yet been applied will be lost. It is a good idea to call this
	 * method before performing a long computation that will ultimately invalidate
	 * the contents of the viewer.