Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDoug Schaefer2007-05-17 16:54:35 +0000
committerDoug Schaefer2007-05-17 16:54:35 +0000
commit05767b54ba0865b29ecbfc9a44d33c65dd1e45ae (patch)
tree39c5bb42a99178a64bdad07ed715250b81cdb715 /debug/org.eclipse.cdt.debug.mi.core
parent9c5aa180e888011c0da57bf054483d86c4634d5d (diff)
downloadorg.eclipse.cdt-05767b54ba0865b29ecbfc9a44d33c65dd1e45ae.tar.gz
org.eclipse.cdt-05767b54ba0865b29ecbfc9a44d33c65dd1e45ae.tar.xz
org.eclipse.cdt-05767b54ba0865b29ecbfc9a44d33c65dd1e45ae.zip
Handle exception that was being thrown in the finally clause the resulted in unbalanced locks in the target.
Diffstat (limited to 'debug/org.eclipse.cdt.debug.mi.core')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java5
1 files changed, 5 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
index a8488ad6055..03359f585a3 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Thread.java
@@ -186,7 +186,12 @@ public class Thread extends CObject implements ICDIThread {
} catch (MIException e) {
throw new MI2CDIException(e);
} finally {
+ try {
target.setCurrentThread(currentThread, false);
+ } catch (MI2CDIException e) {
+ target.releaseTarget();
+ throw e;
+ }
target.releaseTarget();
}
}

Back to the top