1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-29 20:05:35 +02:00

createEvent() set the suspended event

This commit is contained in:
Alain Magloire 2002-10-24 02:42:13 +00:00
parent 304bfef308
commit d3a50b952a

View file

@ -147,8 +147,13 @@ public class RxThread extends Thread {
session.fireEvent(event); session.fireEvent(event);
} else if ("exit".equals(state)) { } else if ("exit".equals(state)) {
// No need to do anything, terminate() will. // No need to do anything, terminate() will.
session.getMIInferior().setTerminated();
} else if ("connected".equals(state)) { } else if ("connected".equals(state)) {
session.getMIInferior().setConnected(); session.getMIInferior().setConnected();
} else if ("error".equals(state)) {
if (session.getMIInferior().isRunning()) {
session.getMIInferior().setSuspended();
}
} }
// Clear the accumulate oobList on each new Result Command // Clear the accumulate oobList on each new Result Command
@ -203,7 +208,6 @@ public class RxThread extends Thread {
String state = exec.getAsyncClass(); String state = exec.getAsyncClass();
if ("stopped".equals(state)) { if ("stopped".equals(state)) {
MIEvent e = null; MIEvent e = null;
session.getMIInferior().setSuspended();
MIResult[] results = exec.getMIResults(); MIResult[] results = exec.getMIResults();
for (int i = 0; i < results.length; i++) { for (int i = 0; i < results.length; i++) {
String var = results[i].getVariable(); String var = results[i].getVariable();
@ -219,16 +223,15 @@ public class RxThread extends Thread {
} }
} }
// HACK: GDB for temporary breakpoints will not send the // We were stopped for some unknown reason, for example
// "reason" ??? Fake this as breakpoint-hit // GDB for temporary breakpoints will not send the
// "reason" ??? still fire a stopped event.
if (e == null) { if (e == null) {
//e = createEvent("breakpoint-hit", exec); session.getMIInferior().setSuspended();
e = new MIStoppedEvent(); e = new MIStoppedEvent();
if (e != null) {
list.add(e); list.add(e);
} }
} }
}
} else if (async instanceof MIStatusAsyncOutput) { } else if (async instanceof MIStatusAsyncOutput) {
// Nothing done .. but what about +download?? // Nothing done .. but what about +download??
} else if (async instanceof MINotifyAsyncOutput) { } else if (async instanceof MINotifyAsyncOutput) {
@ -319,52 +322,59 @@ public class RxThread extends Thread {
} else if (rr != null) { } else if (rr != null) {
event = new MIBreakpointEvent(rr); event = new MIBreakpointEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("watchpoint-trigger".equals(reason)) { } else if ("watchpoint-trigger".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MIWatchpointTriggerEvent(exec); event = new MIWatchpointTriggerEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MIWatchpointTriggerEvent(rr); event = new MIWatchpointTriggerEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("watchpoint-scope".equals(reason)) { } else if ("watchpoint-scope".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MIWatchpointScopeEvent(exec); event = new MIWatchpointScopeEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MIWatchpointScopeEvent(rr); event = new MIWatchpointScopeEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("end-stepping-range".equals(reason)) { } else if ("end-stepping-range".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MISteppingRangeEvent(exec); event = new MISteppingRangeEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MISteppingRangeEvent(rr); event = new MISteppingRangeEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("signal-received".equals(reason)) { } else if ("signal-received".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MISignalEvent(exec); event = new MISignalEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MISignalEvent(rr); event = new MISignalEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("location-reached".equals(reason)) { } else if ("location-reached".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MILocationReachedEvent(exec); event = new MILocationReachedEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MILocationReachedEvent(rr); event = new MILocationReachedEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("function-finished".equals(reason)) { } else if ("function-finished".equals(reason)) {
if (exec != null) { if (exec != null) {
event = new MIFunctionFinishedEvent(exec); event = new MIFunctionFinishedEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MIFunctionFinishedEvent(rr); event = new MIFunctionFinishedEvent(rr);
} }
session.getMIInferior().setSuspended();
} else if ("exited-normally".equals(reason) || } else if ("exited-normally".equals(reason) ||
"exited-signalled".equals(reason) || "exited-signalled".equals(reason) ||
"exited-signalled".equals(reason) || "exited-signalled".equals(reason) ||
"exited".equals(reason)) { "exited".equals(reason)) {
session.getMIInferior().setTerminated();
if (exec != null) { if (exec != null) {
event = new MIInferiorExitEvent(exec); event = new MIInferiorExitEvent(exec);
} else if (rr != null) { } else if (rr != null) {
event = new MIInferiorExitEvent(rr); event = new MIInferiorExitEvent(rr);
} }
session.getMIInferior().setTerminated();
} }
return event; return event;
} }