Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java8
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java9
2 files changed, 15 insertions, 2 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java
index c494160174..40b96c68b6 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBRunControl_7_0_NS.java
@@ -1153,7 +1153,13 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
// If we don't, we risk an infinite loop where we try, over and over
// to perform an operation that keeps on failing.
fOngoingOperation = false;
- fOperationsPending.clear();
+
+ // Complete each rm of the cancelled operations
+ while (fOperationsPending.size() > 0) {
+ RequestMonitor rm = fOperationsPending.poll().rm;
+ rm.setStatus(getStatus());
+ rm.done();
+ }
super.handleFailure();
}
};
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java
index cff1b912c7..05784080df 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIRunControl.java
@@ -1156,7 +1156,14 @@ public class MIRunControl extends AbstractDsfService implements IMIRunControl, I
// If we don't, we risk an infinite loop where we try, over and over
// to perform an operation that keeps on failing.
fOngoingOperation = false;
- fOperationsPending.clear();
+
+ // Complete each rm of the cancelled operations
+ while (fOperationsPending.size() > 0) {
+ RequestMonitor rm = fOperationsPending.poll().rm;
+ rm.setStatus(getStatus());
+ rm.done();
+ }
+
super.handleFailure();
}
};

Back to the top