Bug 53299 Synchronizing 5 projects is locking too much
Build 20040219 While synchronizing 5 projects, I started editing one file in project no.1, while no.3 was being synchronized (1 was long done). I still got locked on validate edit, though the project 1 should have been released from the sync rsc lock. (I did check that no other competing job was getting in the way)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/filebuffers/CompilationUnitDocumentProvider2.java
if (unit != null && info.fModel instanceof AbstractMarkerAnnotationModel) {
				IResource r= unit.getResource();
				IMarker[] markers= r.findMarkers(IMarker.MARKER, true, IResource.DEPTH_ZERO);
				if (markers != null && markers.length > 0) {
					AbstractMarkerAnnotationModel model= (AbstractMarkerAnnotationModel) info.fModel;						
					for (int i= 0; i < markers.length; i++)
						model.updateMarker(markers[i], document, null);
				}
			}
		}
	}
	
	/*
	 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider#createSaveOperation(java.lang.Object, org.eclipse.jface.text.IDocument, boolean)
	 */
	protected DocumentProviderOperation createSaveOperation(final Object element, final IDocument document, final boolean overwrite) throws CoreException {
		final FileInfo info= getFileInfo(element);
		if (info instanceof CompilationUnitInfo) {
			return new DocumentProviderOperation() {
				protected void execute(IProgressMonitor monitor) throws CoreException {
					commitWorkingCopy(monitor, element, (CompilationUnitInfo) info, overwrite);
				}
				/*
				 * @see org.eclipse.ui.editors.text.TextFileDocumentProvider.DocumentProviderOperation#getSchedulingRule()
				 */
				public ISchedulingRule getSchedulingRule() {
					if (info.fElement instanceof IFileEditorInput) {
						IFile file= ((IFileEditorInput)info.fElement).getFile();
						IResourceRuleFactory ruleFactory= ResourcesPlugin.getWorkspace().getRuleFactory();
						if (file == null || !file.exists())