From 0182fc06d94a62b367844c360d1f12dfb018f489 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Tue, 3 Sep 2002 04:13:33 +0000 Subject: [PATCH] Implement suspend with spawner. --- .../eclipse/cdt/debug/mi/core/cdi/CTarget.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java index 08f9abef2f8..b2695666160 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CTarget.java @@ -20,11 +20,11 @@ import org.eclipse.cdt.debug.core.cdi.model.ICDIValue; import org.eclipse.cdt.debug.mi.core.MIException; import org.eclipse.cdt.debug.mi.core.MISession; import org.eclipse.cdt.debug.mi.core.command.CommandFactory; +import org.eclipse.cdt.debug.mi.core.command.MICommand; import org.eclipse.cdt.debug.mi.core.command.MIDataEvaluateExpression; import org.eclipse.cdt.debug.mi.core.command.MIDataListRegisterNames; import org.eclipse.cdt.debug.mi.core.command.MIExecContinue; import org.eclipse.cdt.debug.mi.core.command.MIExecFinish; -import org.eclipse.cdt.debug.mi.core.command.MIExecInterrupt; import org.eclipse.cdt.debug.mi.core.command.MIExecNext; import org.eclipse.cdt.debug.mi.core.command.MIExecNextInstruction; import org.eclipse.cdt.debug.mi.core.command.MIExecRun; @@ -339,12 +339,13 @@ public class CTarget implements ICDITarget { * @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#suspend() */ public void suspend() throws CDIException { + session.getMISession().getMIInferior().interrupt(); + // send a noop to see if we get an aswer. MISession mi = session.getMISession(); - CommandFactory factory = mi.getCommandFactory(); - MIExecInterrupt interrupt = factory.createMIExecInterrupt(); + MICommand noop = new MICommand(""); try { - mi.postCommand(interrupt); - MIInfo info = interrupt.getMIInfo(); + mi.postCommand(noop); + MIInfo info = noop.getMIInfo(); if (info == null) { throw new CDIException("No answer"); } @@ -439,6 +440,10 @@ public class CTarget implements ICDITarget { return session.getMISession().getMIInferior().isSuspended(); } + public boolean isRunning() { + return session.getMISession().getMIInferior().isRunning(); + } + /** * @see org.eclipse.cdt.debug.core.cdi.model.ICDITarget#getGlobalVariables() */