mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-20 15:35:24 +02:00
Bug 344635: Installed decorator no longer appears after an inferior runs to completion
This commit is contained in:
parent
3b5439c8ea
commit
a9a60065f6
1 changed files with 7 additions and 12 deletions
|
@ -736,16 +736,6 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
||||||
// Update the mappings
|
// Update the mappings
|
||||||
platformBPs.remove(breakpoint);
|
platformBPs.remove(breakpoint);
|
||||||
threadsIDs.remove(breakpoint);
|
threadsIDs.remove(breakpoint);
|
||||||
|
|
||||||
Vector<IBreakpointDMContext> contexts = breakpointIDs.get(breakpoint);
|
|
||||||
if (contexts != null) {
|
|
||||||
for (IBreakpointDMContext context : contexts)
|
|
||||||
targetBPs.remove(context);
|
|
||||||
}
|
|
||||||
|
|
||||||
breakpointIDs.get(breakpoint).clear();
|
|
||||||
breakpointIDs.remove(breakpoint);
|
|
||||||
|
|
||||||
fPendingRequests.remove(breakpoint);
|
fPendingRequests.remove(breakpoint);
|
||||||
|
|
||||||
rm.done();
|
rm.done();
|
||||||
|
@ -753,10 +743,14 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
||||||
};
|
};
|
||||||
|
|
||||||
// Remove the back-end breakpoints
|
// Remove the back-end breakpoints
|
||||||
Vector<IBreakpointDMContext> list = breakpointIDs.get(breakpoint);
|
// Remove the entry from the breakpointIDs map right away to indicate that we have already
|
||||||
|
// taken care of this breakpoint. This avoids race conditions with the shutdown
|
||||||
|
// which would also try to decrement the install count (bug 344635)
|
||||||
|
Vector<IBreakpointDMContext> list = breakpointIDs.remove(breakpoint);
|
||||||
int count = 0;
|
int count = 0;
|
||||||
if (list != null) {
|
if (list != null) {
|
||||||
for (final IBreakpointDMContext bp : list) {
|
for (final IBreakpointDMContext bp : list) {
|
||||||
|
targetBPs.remove(bp);
|
||||||
decrementInstallCount(bp, breakpoint, new RequestMonitor(getExecutor(), removeRM) {
|
decrementInstallCount(bp, breakpoint, new RequestMonitor(getExecutor(), removeRM) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleCompleted() {
|
protected void handleCompleted() {
|
||||||
|
@ -765,6 +759,7 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
count = list.size();
|
count = list.size();
|
||||||
|
list.clear(); // probably not necessary
|
||||||
}
|
}
|
||||||
removeRM.setDoneCount(count);
|
removeRM.setDoneCount(count);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue