deprecate suspend/resume (bug 79698)
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java index 672d36f..c36fac8 100644 --- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java +++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/jobs/JobManager.java
@@ -777,7 +777,8 @@ } } - /* (non-Javadoc) + /** (non-Javadoc) + * @deprecated this method should not be used * @see org.eclipse.core.runtime.jobs.IJobManager#resume(org.eclipse.core.runtime.jobs.ISchedulingRule) */ public final void resume(ISchedulingRule rule) { @@ -1024,7 +1025,8 @@ } } - /* (non-Javadoc) + /** (non-Javadoc) + * @deprecated this method should not be used * @see org.eclipse.core.runtime.jobs.IJobManager#suspend(org.eclipse.core.runtime.jobs.ISchedulingRule, org.eclipse.core.runtime.IProgressMonitor) */ public final void suspend(ISchedulingRule rule, IProgressMonitor monitor) {
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/jobs/IJobManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/jobs/IJobManager.java index 3dab287..cb043f5 100644 --- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/jobs/IJobManager.java +++ b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/jobs/IJobManager.java
@@ -221,6 +221,10 @@ * thread also owns the rule at the time this method is called, then the rule will * not be resumed until all threads have released the rule. * + * @deprecated This method is not safe and should not be used. + * Suspending a scheduling rule violates the thread safety + * of clients that use scheduling rules as a mutual exclusion mechanism, + * and can result in concurrency problems in all clients that use the suspended rule. * @see #suspend(ISchedulingRule, IProgressMonitor) */ public void resume(ISchedulingRule rule); @@ -309,6 +313,10 @@ * execution soon afterwards. Deadlock will result if the thread responsible * for resuming the rule attempts to join a suspended job. * + * @deprecated This method is not safe and should not be used. + * Suspending a scheduling rule violates the thread safety + * of clients that use scheduling rules as a mutual exclusion mechanism, + * and can result in concurrency problems in all clients that use the suspended rule. * @param rule The scheduling rule to suspend. Must not be <code>null</code>. * @param monitor a progress monitor, or <code>null</code> if progress * reporting is not desired