Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 209871 Details for
Bug 368152
ConcurrentModificationException on startup in ExternalFoldersManager.createPendingFolders
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
Updated patch
bug368152_2.patch (text/plain), 2.64 KB, created by
Jay Arthanareeswaran
on 2012-01-21 01:15:35 EST
(
hide
)
Description:
Updated patch
Filename:
MIME Type:
Creator:
Jay Arthanareeswaran
Created:
2012-01-21 01:15:35 EST
Size:
2.64 KB
patch
obsolete
>diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java >index 8b2e896..91c7643 100644 >--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java >+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java >@@ -101,6 +101,7 @@ > import java.util.HashMap; > import java.util.HashSet; > import java.util.Hashtable; >+import java.util.Iterator; > import java.util.Map; > > import org.eclipse.core.runtime.CoreException; >@@ -116,6 +117,7 @@ > import org.eclipse.core.runtime.QualifiedName; > import org.eclipse.core.runtime.SubProgressMonitor; > import org.eclipse.core.runtime.jobs.ISchedulingRule; >+import org.eclipse.core.runtime.jobs.Job; > > import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.IFile; >@@ -3888,6 +3890,7 @@ > monitor.subTask(Messages.javamodel_resetting_source_attachment_properties); > final IJavaProject[] projects = manager.getJavaModel().getJavaProjects(); > HashSet visitedPaths = new HashSet(); >+ HashSet externalPaths = new HashSet(); > ExternalFoldersManager externalFoldersManager = JavaModelManager.getExternalManager(); > for (int i = 0, length = projects.length; i < length; i++) { > JavaProject javaProject = (JavaProject) projects[i]; >@@ -3911,19 +3914,32 @@ > if (entry.getEntryKind() == IClasspathEntry.CPE_LIBRARY) { > IPath entryPath = entry.getPath(); > if (ExternalFoldersManager.isExternalFolderPath(entryPath) && externalFoldersManager.getFolder(entryPath) == null) { >- externalFoldersManager.addFolder(entryPath, true); >+ externalPaths.add(entryPath); > } > } > } > } > } >+ >+ ISchedulingRule rule = null; > try { >+ // Use a schedule rule to avoid a race condition (https://bugs.eclipse.org/bugs/show_bug.cgi?id=369251) >+ rule = ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(externalFoldersManager.getExternalFoldersProject()); >+ Job.getJobManager().beginRule(rule, monitor); >+ >+ Iterator externalPathIter = externalPaths.iterator(); >+ while (externalPathIter.hasNext()) { >+ externalFoldersManager.addFolder((IPath) externalPathIter.next(), true); >+ } > externalFoldersManager.createPendingFolders(monitor); >- } >- catch(JavaModelException jme) { >+ >+ } catch (JavaModelException jme) { > // Creation of external folder project failed. Log it and continue; > Util.log(jme, "Error while processing external folders"); //$NON-NLS-1$ >+ } finally { >+ Job.getJobManager().endRule(rule); > } >+ > // initialize delta state > if (monitor != null) > monitor.subTask(Messages.javamodel_initializing_delta_state);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 368152
:
209211
|
209869
|
209871
|
210971