Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java13
1 files changed, 8 insertions, 5 deletions
diff --git a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
index 7ec287588..5e86c55a9 100644
--- a/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
+++ b/bundles/org.eclipse.team.cvs.core/src/org/eclipse/team/internal/ccvs/core/syncinfo/ReentrantLock.java
@@ -99,11 +99,14 @@ public class ReentrantLock {
*/
public void popRule(IProgressMonitor monitor) throws CVSException {
ISchedulingRule rule = removeRule();
- if (isFlushRequired()) {
- flush(monitor);
- }
- if (rule != NULL_SCHEDULING_RULE) {
- Platform.getJobManager().endRule(rule);
+ try {
+ if (isFlushRequired()) {
+ flush(monitor);
+ }
+ } finally {
+ if (rule != NULL_SCHEDULING_RULE) {
+ Platform.getJobManager().endRule(rule);
+ }
}
}
/**

Back to the top