Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Gvozdev2012-04-16 20:57:55 +0000
committerAndrew Gvozdev2012-04-16 20:57:55 +0000
commit2bd9d517fb21bad4d239c8ab953fd13767dd85d6 (patch)
tree4e78b5b04845d5a2af4260d303d814382d3a1bb2
parentf21f43f622079c62f73cf991bef8f8b5813b24b4 (diff)
downloadorg.eclipse.cdt-2bd9d517fb21bad4d239c8ab953fd13767dd85d6.tar.gz
org.eclipse.cdt-2bd9d517fb21bad4d239c8ab953fd13767dd85d6.tar.xz
org.eclipse.cdt-2bd9d517fb21bad4d239c8ab953fd13767dd85d6.zip
bug 371797: Use workspace scheduling rule for serializing workspace providers
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/language/settings/providers/AbstractBuiltinSpecsDetector.java11
-rw-r--r--core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java6
2 files changed, 10 insertions, 7 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/language/settings/providers/AbstractBuiltinSpecsDetector.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/language/settings/providers/AbstractBuiltinSpecsDetector.java
index 46be10b9efd..3341b86b986 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/language/settings/providers/AbstractBuiltinSpecsDetector.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/language/settings/providers/AbstractBuiltinSpecsDetector.java
@@ -41,7 +41,6 @@ import org.eclipse.cdt.managedbuilder.core.ManagedBuilderCorePlugin;
import org.eclipse.cdt.managedbuilder.internal.core.ManagedMakeMessages;
import org.eclipse.cdt.utils.CommandLineUtil;
import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
@@ -57,6 +56,7 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.SubProgressMonitor;
import org.eclipse.core.runtime.content.IContentType;
+import org.eclipse.core.runtime.jobs.ISchedulingRule;
import org.eclipse.core.runtime.jobs.Job;
import org.w3c.dom.Element;
@@ -372,14 +372,17 @@ public abstract class AbstractBuiltinSpecsDetector extends AbstractLanguageSetti
}
};
- IProject project = null;
+ ISchedulingRule rule = null;
if (currentCfgDescription != null) {
ICProjectDescription prjDescription = currentCfgDescription.getProjectDescription();
if (prjDescription != null) {
- project = prjDescription.getProject();
+ rule = prjDescription.getProject();
}
}
- job.setRule(project);
+ if (rule == null) {
+ rule = ResourcesPlugin.getWorkspace().getRoot();
+ }
+ job.setRule(rule);
job.schedule();
}
diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java
index 5b4970b5f73..5f7a2a65544 100644
--- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java
+++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java
@@ -45,6 +45,7 @@ import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.resources.WorkspaceJob;
import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
@@ -562,9 +563,9 @@ public class LanguageSettingsProvidersSerializer {
}
}
- Job job = new Job(SettingsModelMessages.getString("LanguageSettingsProvidersSerializer.SerializeJobName")) { //$NON-NLS-1$
+ Job job = new WorkspaceJob(SettingsModelMessages.getString("LanguageSettingsProvidersSerializer.SerializeJobName")) { //$NON-NLS-1$
@Override
- protected IStatus run(IProgressMonitor monitor) {
+ public IStatus runInWorkspace(IProgressMonitor monitor) throws CoreException {
try {
monitor.beginTask(SettingsModelMessages.getString("LanguageSettingsProvidersSerializer.SerializingForWorkspace"), //$NON-NLS-1$
TICKS_SERIALIZING);
@@ -584,7 +585,6 @@ public class LanguageSettingsProvidersSerializer {
}
};
- job.setRule(null);
job.schedule();
}

Back to the top