Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2005-07-07 19:59:16 +0000
committerAlain Magloire2005-07-07 19:59:16 +0000
commita038681ea1961bfb7a0ad63c5225b21d1a69c25a (patch)
tree4e2a67519a0be8149a95d0b5a75e78bb5130032c
parent19a7fbdaee93d97f5293f8a5bc9a12949495f831 (diff)
downloadorg.eclipse.cdt-a038681ea1961bfb7a0ad63c5225b21d1a69c25a.tar.gz
org.eclipse.cdt-a038681ea1961bfb7a0ad63c5225b21d1a69c25a.tar.xz
org.eclipse.cdt-a038681ea1961bfb7a0ad63c5225b21d1a69c25a.zip
2005-07-07 Alain Magloire
Try to suspend the target before disconnecting. * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/ChangeLog4
-rw-r--r--debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java11
2 files changed, 15 insertions, 0 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
index f5e2fc1390e..ab7559b0168 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
+++ b/debug/org.eclipse.cdt.debug.mi.core/ChangeLog
@@ -1,3 +1,7 @@
+2005-07-07 Alain Magloire
+ Try to suspend the target before disconnecting.
+ * cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+
2005-07-04 Alain Magloire
Base on a patch from Chris Wiebe.
* cdi/org/eclipse/cdt/debug/mi/core/cdi/BreakpointManager.java
diff --git a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
index 84450e10878..28d36e53666 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/cdi/org/eclipse/cdt/debug/mi/core/cdi/model/Target.java
@@ -39,6 +39,7 @@ import org.eclipse.cdt.debug.mi.core.MIException;
import org.eclipse.cdt.debug.mi.core.MISession;
import org.eclipse.cdt.debug.mi.core.cdi.BreakpointManager;
import org.eclipse.cdt.debug.mi.core.cdi.CdiResources;
+import org.eclipse.cdt.debug.mi.core.cdi.EventManager;
import org.eclipse.cdt.debug.mi.core.cdi.ExpressionManager;
import org.eclipse.cdt.debug.mi.core.cdi.MI2CDIException;
import org.eclipse.cdt.debug.mi.core.cdi.MemoryManager;
@@ -519,6 +520,16 @@ public class Target extends SessionObject implements ICDITarget {
* @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#disconnect()
*/
public void disconnect() throws CDIException {
+ // if Target is running try to suspend first.
+ if (isRunning()) {
+ try {
+ ((EventManager)getSession().getEventManager()).allowProcessingEvents(false);
+ suspend();
+ } finally {
+ ((EventManager)getSession().getEventManager()).allowProcessingEvents(true);
+ }
+ }
+
CommandFactory factory = miSession.getCommandFactory();
MITargetDetach detach = factory.createMITargetDetach();
try {

Back to the top