1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Bug 365966: Change all of DSF-GDB to use the new Immediate*RequestMonitor classes. Not a necessary change, but it makes the code easier to read, and validates the new classes.

This commit is contained in:
Marc Khouzam 2011-12-12 11:26:48 -05:00
parent 1291c98447
commit fb16cb0561
47 changed files with 167 additions and 157 deletions

View file

@ -15,7 +15,7 @@ import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IProcesses; import org.eclipse.cdt.dsf.debug.service.IProcesses;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
@ -50,7 +50,7 @@ public class GdbSuspendTrigger extends DsfSuspendTrigger {
processService.getProcessesBeingDebugged( processService.getProcessesBeingDebugged(
controlService.getContext(), controlService.getContext(),
new DataRequestMonitor<IDMContext[]>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext[]>(rm) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
IContainerDMContext[] containers = new IContainerDMContext[getData().length]; IContainerDMContext[] containers = new IContainerDMContext[getData().length];

View file

@ -13,11 +13,10 @@ package org.eclipse.cdt.dsf.gdb.internal.ui.actions;
import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.debug.service.IProcesses; import org.eclipse.cdt.dsf.debug.service.IProcesses;
import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext;
@ -73,7 +72,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
request.setEnabled(false); request.setEnabled(false);
request.done(); request.done();
} else { } else {
procService.canTerminate(processDmc, new DataRequestMonitor<Boolean>(ImmediateExecutor.getInstance(), null) { procService.canTerminate(processDmc, new ImmediateDataRequestMonitor<Boolean>() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
request.setEnabled(isSuccess() && getData()); request.setEnabled(isSuccess() && getData());
@ -110,7 +109,7 @@ public class DsfTerminateCommand implements ITerminateHandler {
public void run() { public void run() {
IProcesses procService = fTracker.getService(IProcesses.class); IProcesses procService = fTracker.getService(IProcesses.class);
if (procService != null) { if (procService != null) {
procService.terminate(processDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null) { procService.terminate(processDmc, new ImmediateRequestMonitor() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
request.setStatus(getStatus()); request.setStatus(getStatus());

View file

@ -24,7 +24,7 @@ import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
@ -400,11 +400,11 @@ public class GdbConnectCommand implements IConnect {
// We need to create a new list so that we can remove elements from it. // We need to create a new list so that we can remove elements from it.
final List<IProcessExtendedInfo> procList = new ArrayList<IProcessExtendedInfo>(Arrays.asList(processes)); final List<IProcessExtendedInfo> procList = new ArrayList<IProcessExtendedInfo>(Arrays.asList(processes));
class AttachToProcessRequestMonitor extends DataRequestMonitor<IDMContext> { class AttachToProcessRequestMonitor extends ImmediateDataRequestMonitor<IDMContext> {
public AttachToProcessRequestMonitor() { public AttachToProcessRequestMonitor() {
super(ImmediateExecutor.getInstance(), null); super();
} }
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (!isSuccess()) { if (!isSuccess()) {
@ -417,7 +417,7 @@ public class GdbConnectCommand implements IConnect {
// Check that we can actually attach to the process. // Check that we can actually attach to the process.
// This is because some backends may not support multi-process. // This is because some backends may not support multi-process.
// If the backend does not support multi-process, we only attach to the first process. // If the backend does not support multi-process, we only attach to the first process.
procService.isDebuggerAttachSupported(controlDmc, new DataRequestMonitor<Boolean>(ImmediateExecutor.getInstance(), null) { procService.isDebuggerAttachSupported(controlDmc, new ImmediateDataRequestMonitor<Boolean>() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (isSuccess() && getData()) { if (isSuccess() && getData()) {

View file

@ -20,7 +20,7 @@ import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.debug.ui.CDebugUIPlugin; import org.eclipse.cdt.debug.ui.CDebugUIPlugin;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
@ -464,7 +464,7 @@ public class GdbThreadFilterEditor {
if (processService != null && procDmc != null) { if (processService != null && procDmc != null) {
processService.getExecutionData( processService.getExecutionData(
procDmc, procDmc,
new DataRequestMonitor<IThreadDMData>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IThreadDMData>(rm) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
final StringBuilder builder = new StringBuilder(getData().getName()); final StringBuilder builder = new StringBuilder(getData().getName());
@ -517,8 +517,7 @@ public class GdbThreadFilterEditor {
IProcesses procService = tracker.getService(IProcesses.class); IProcesses procService = tracker.getService(IProcesses.class);
if (procService != null) { if (procService != null) {
IThreadDMContext threadDmc = DMContexts.getAncestorOfType(thread, IThreadDMContext.class); IThreadDMContext threadDmc = DMContexts.getAncestorOfType(thread, IThreadDMContext.class);
procService.getExecutionData(threadDmc, new DataRequestMonitor<IThreadDMData>( procService.getExecutionData(threadDmc, new ImmediateDataRequestMonitor<IThreadDMData>(rm) {
ImmediateExecutor.getInstance(), rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final StringBuilder builder = new StringBuilder(Messages.GdbThreadFilterEditor_Thread); final StringBuilder builder = new StringBuilder(Messages.GdbThreadFilterEditor_Thread);

View file

@ -16,9 +16,8 @@ import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.gdb.internal.commands.ISelectNextTraceRecordHandler; import org.eclipse.cdt.dsf.gdb.internal.commands.ISelectNextTraceRecordHandler;
import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin; import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
@ -87,7 +86,7 @@ public class GdbSelectNextTraceRecordCommand extends AbstractDebugCommand implem
// Bug 347514 // Bug 347514
fSession.dispatchEvent(new TraceRecordSelectedChangedEvent(nextDmc), new Hashtable<String, String>()); fSession.dispatchEvent(new TraceRecordSelectedChangedEvent(nextDmc), new Hashtable<String, String>());
traceControl.selectTraceRecord(nextDmc, new RequestMonitor(ImmediateExecutor.getInstance(), rm) { traceControl.selectTraceRecord(nextDmc, new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleError() { protected void handleError() {
// If we weren't able to select the next record, we must notify that we are still on the previous one // If we weren't able to select the next record, we must notify that we are still on the previous one

View file

@ -16,14 +16,13 @@ import java.util.concurrent.RejectedExecutionException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.gdb.internal.commands.ISelectPrevTraceRecordHandler; import org.eclipse.cdt.dsf.gdb.internal.commands.ISelectPrevTraceRecordHandler;
import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin; import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl;
import org.eclipse.cdt.dsf.gdb.service.GDBTraceControl_7_2.TraceRecordSelectedChangedEvent; import org.eclipse.cdt.dsf.gdb.service.GDBTraceControl_7_2.TraceRecordSelectedChangedEvent;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordDMContext; import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceRecordDMContext;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceStatusDMData; import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceStatusDMData;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceTargetDMContext; import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl.ITraceTargetDMContext;
@ -81,7 +80,7 @@ public class GdbSelectPrevTraceRecordCommand extends AbstractDebugCommand implem
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final ITraceRecordDMContext prevDmc = traceControl.createPrevRecordContext(getData()); final ITraceRecordDMContext prevDmc = traceControl.createPrevRecordContext(getData());
traceControl.selectTraceRecord(prevDmc, new RequestMonitor(ImmediateExecutor.getInstance(), rm) { traceControl.selectTraceRecord(prevDmc, new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
fSession.dispatchEvent(new TraceRecordSelectedChangedEvent(prevDmc), new Hashtable<String, String>()); fSession.dispatchEvent(new TraceRecordSelectedChangedEvent(prevDmc), new Hashtable<String, String>());

View file

@ -20,7 +20,7 @@ import java.util.concurrent.TimeoutException;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -291,7 +291,7 @@ public class TraceControlView extends ViewPart implements IViewPart, SessionEnde
final IGDBTraceControl traceControl = getService(IGDBTraceControl.class); final IGDBTraceControl traceControl = getService(IGDBTraceControl.class);
if (traceControl != null) { if (traceControl != null) {
ITraceRecordDMContext emptyDmc = traceControl.createTraceRecordContext(ctx, "-1"); //$NON-NLS-1$ ITraceRecordDMContext emptyDmc = traceControl.createTraceRecordContext(ctx, "-1"); //$NON-NLS-1$
traceControl.selectTraceRecord(emptyDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null)); traceControl.selectTraceRecord(emptyDmc, new ImmediateRequestMonitor());
} }
} }
}); });

View file

@ -21,7 +21,7 @@ import org.eclipse.cdt.debug.core.CDebugUtils;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector; import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ReflectionSequence; import org.eclipse.cdt.dsf.concurrent.ReflectionSequence;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
@ -375,7 +375,7 @@ public class FinalLaunchSequence extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
remoteTcpHost, remoteTcpPort, true), remoteTcpHost, remoteTcpPort, true),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
String serialDevice = CDebugUtils.getAttribute( String serialDevice = CDebugUtils.getAttribute(
fAttributes, fAttributes,
@ -384,7 +384,7 @@ public class FinalLaunchSequence extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
serialDevice, true), serialDevice, true),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} }
} else { } else {
rm.done(); rm.done();

View file

@ -16,9 +16,8 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.debug.core.CDebugUtils; import org.eclipse.cdt.debug.core.CDebugUtils;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants; import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
@ -96,6 +95,6 @@ public class FinalLaunchSequence_7_2 extends FinalLaunchSequence {
fGdbControl.queueCommand( fGdbControl.queueCommand(
fGdbControl.getCommandFactory().createMIGDBSetDetachOnFork(fGdbControl.getContext(), !debugOnFork), fGdbControl.getCommandFactory().createMIGDBSetDetachOnFork(fGdbControl.getContext(), !debugOnFork),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} }
} }

View file

@ -20,6 +20,7 @@ import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
import org.eclipse.cdt.dsf.concurrent.ThreadSafe; import org.eclipse.cdt.dsf.concurrent.ThreadSafe;
@ -186,7 +187,7 @@ public class GdbLaunch extends DsfLaunch
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// IServiceEventListener // IServiceEventListener
@DsfServiceEventHandler public void eventDispatched(ICommandControlShutdownDMEvent event) { @DsfServiceEventHandler public void eventDispatched(ICommandControlShutdownDMEvent event) {
shutdownSession(new RequestMonitor(ImmediateExecutor.getInstance(), null)); shutdownSession(new ImmediateRequestMonitor());
} }
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////

View file

@ -18,7 +18,7 @@ import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ReflectionSequence; import org.eclipse.cdt.dsf.concurrent.ReflectionSequence;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -181,7 +181,7 @@ public class DebugNewProcessSequence extends ReflectionSequence {
if (!noFileCommand && fBinaryName != null && fBinaryName.length() > 0) { if (!noFileCommand && fBinaryName != null && fBinaryName.length() > 0) {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIFileExecAndSymbols(getContainerContext(), fBinaryName), fCommandFactory.createMIFileExecAndSymbols(getContainerContext(), fBinaryName),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
rm.done(); rm.done();
} }
@ -199,7 +199,7 @@ public class DebugNewProcessSequence extends ReflectionSequence {
String[] argArray = args.replaceAll("\n", " ").split(" "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ String[] argArray = args.replaceAll("\n", " ").split(" "); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIGDBSetArgs(getContainerContext(), argArray), fCommandFactory.createMIGDBSetArgs(getContainerContext(), argArray),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
rm.done(); rm.done();
} }
@ -239,7 +239,7 @@ public class DebugNewProcessSequence extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
remoteTcpHost, remoteTcpPort, false), remoteTcpHost, remoteTcpPort, false),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
String serialDevice = CDebugUtils.getAttribute( String serialDevice = CDebugUtils.getAttribute(
fAttributes, fAttributes,
@ -247,7 +247,7 @@ public class DebugNewProcessSequence extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
serialDevice, false), serialDevice, false),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} }
} else { } else {
rm.done(); rm.done();
@ -405,7 +405,7 @@ public class DebugNewProcessSequence extends ReflectionSequence {
// Bug 342351 // Bug 342351
fAttributes.put(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, fBinaryName); fAttributes.put(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, fBinaryName);
fProcService.start(getContainerContext(), fAttributes, new DataRequestMonitor<IContainerDMContext>(ImmediateExecutor.getInstance(), rm) { fProcService.start(getContainerContext(), fAttributes, new ImmediateDataRequestMonitor<IContainerDMContext>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
assert getData() instanceof IMIContainerDMContext; assert getData() instanceof IMIContainerDMContext;

View file

@ -18,7 +18,7 @@ import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin; import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
@ -105,7 +105,7 @@ public class DebugNewProcessSequence_7_2 extends DebugNewProcessSequence {
fGdbControl.queueCommand( fGdbControl.queueCommand(
fGdbControl.getCommandFactory().createMIAddInferior(fGdbControl.getContext()), fGdbControl.getCommandFactory().createMIAddInferior(fGdbControl.getContext()),
new DataRequestMonitor<MIAddInferiorInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIAddInferiorInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final String groupId = getData().getGroupId(); final String groupId = getData().getGroupId();

View file

@ -30,7 +30,7 @@ import org.eclipse.cdt.core.model.ICProject;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants; import org.eclipse.cdt.dsf.gdb.IGDBLaunchConfigurationConstants;
@ -130,7 +130,7 @@ public class GDBBackend extends AbstractDsfService implements IGDBBackend {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -17,7 +17,7 @@ import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence.Step; import org.eclipse.cdt.dsf.concurrent.Sequence.Step;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -63,7 +63,7 @@ public class GDBBreakpoints_7_0 extends MIBreakpoints
*/ */
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);

View file

@ -16,7 +16,8 @@ import java.util.Hashtable;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints; import org.eclipse.cdt.dsf.debug.service.IBreakpoints;
@ -57,7 +58,7 @@ public class GDBBreakpoints_7_2 extends GDBBreakpoints_7_0
*/ */
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);
@ -186,7 +187,7 @@ public class GDBBreakpoints_7_2 extends GDBBreakpoints_7_0
// Unless we should only set slow tracepoints, we try to set a fast tracepoint. // Unless we should only set slow tracepoints, we try to set a fast tracepoint.
boolean isFastTracepoint = fTracepointMode != TracepointMode.SLOW_ONLY; boolean isFastTracepoint = fTracepointMode != TracepointMode.SLOW_ONLY;
sendTracepointCommand(context, attributes, isFastTracepoint, new DataRequestMonitor<IBreakpointDMContext>(ImmediateExecutor.getInstance(), drm) { sendTracepointCommand(context, attributes, isFastTracepoint, new ImmediateDataRequestMonitor<IBreakpointDMContext>(drm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// Tracepoint was set successfully. // Tracepoint was set successfully.

View file

@ -14,7 +14,7 @@ import java.util.Hashtable;
import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
@ -37,7 +37,7 @@ public class GDBMemory_7_0 extends MIMemory {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -22,7 +22,9 @@ import org.eclipse.cdt.debug.core.CDebugUtils;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -99,7 +101,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);
@ -231,12 +233,12 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
public void attachDebuggerToProcess(final IProcessDMContext procCtx, String binaryPath, final DataRequestMonitor<IDMContext> rm) { public void attachDebuggerToProcess(final IProcessDMContext procCtx, String binaryPath, final DataRequestMonitor<IDMContext> rm) {
final IMIContainerDMContext containerDmc = createContainerContext(procCtx, MIProcesses.UNIQUE_GROUP_ID); final IMIContainerDMContext containerDmc = createContainerContext(procCtx, MIProcesses.UNIQUE_GROUP_ID);
DataRequestMonitor<MIInfo> attachRm = new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { DataRequestMonitor<MIInfo> attachRm = new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
GDBProcesses.super.attachDebuggerToProcess( GDBProcesses.super.attachDebuggerToProcess(
procCtx, procCtx,
new DataRequestMonitor<IDMContext>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// For an attach, we actually know the pid, so let's remember it // For an attach, we actually know the pid, so let's remember it
@ -369,7 +371,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
} else if (thread instanceof IMIProcessDMContext) { } else if (thread instanceof IMIProcessDMContext) {
getDebuggingContext( getDebuggingContext(
thread, thread,
new DataRequestMonitor<IDMContext>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
if (getData() instanceof IMIContainerDMContext) { if (getData() instanceof IMIContainerDMContext) {
@ -381,7 +383,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
final IMIContainerDMContext container = (IMIContainerDMContext)getData(); final IMIContainerDMContext container = (IMIContainerDMContext)getData();
fGdb.queueCommand( fGdb.queueCommand(
fCommandFactory.createMIInterpreterExecConsoleKill(container), fCommandFactory.createMIInterpreterExecConsoleKill(container),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// Before GDB 7.0, we must send a container exited event ourselves // Before GDB 7.0, we must send a container exited event ourselves
@ -479,7 +481,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
// Tell GDB to use this PTY // Tell GDB to use this PTY
fGdb.queueCommand( fGdb.queueCommand(
fCommandFactory.createMIInferiorTTYSet((IMIContainerDMContext)containerDmc, fPty.getSlaveName()), fCommandFactory.createMIInferiorTTYSet((IMIContainerDMContext)containerDmc, fPty.getSlaveName()),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleFailure() { protected void handleFailure() {
// We were not able to tell GDB to use the PTY // We were not able to tell GDB to use the PTY
@ -498,7 +500,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
* @since 4.0 * @since 4.0
*/ */
protected void createConsole(final IContainerDMContext containerDmc, final boolean restart, final RequestMonitor rm) { protected void createConsole(final IContainerDMContext containerDmc, final boolean restart, final RequestMonitor rm) {
initializeInputOutput(containerDmc, new RequestMonitor(ImmediateExecutor.getInstance(), rm) { initializeInputOutput(containerDmc, new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
Process inferiorProcess; Process inferiorProcess;
@ -556,7 +558,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
return; return;
} }
createConsole(containerDmc, restart, new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { createConsole(containerDmc, restart, new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final DataRequestMonitor<MIInfo> execMonitor = new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) { final DataRequestMonitor<MIInfo> execMonitor = new DataRequestMonitor<MIInfo>(getExecutor(), requestMonitor) {
@ -639,7 +641,7 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB, IGdbDebugPreferenceConstants.PREF_AUTO_TERMINATE_GDB,
true, null)) { true, null)) {
// If the inferior finishes, let's terminate GDB // If the inferior finishes, let's terminate GDB
fGdb.terminate(new RequestMonitor(ImmediateExecutor.getInstance(), null)); fGdb.terminate(new ImmediateRequestMonitor());
} }
} }
super.eventDispatched(e); super.eventDispatched(e);

View file

@ -25,7 +25,9 @@ import org.eclipse.cdt.core.IProcessInfo;
import org.eclipse.cdt.core.IProcessList; import org.eclipse.cdt.core.IProcessList;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
@ -496,7 +498,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
*/ */
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);
@ -840,7 +842,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
if (binaryPath != null) { if (binaryPath != null) {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIFileExecAndSymbols(fContainerDmc, binaryPath), fCommandFactory.createMIFileExecAndSymbols(fContainerDmc, binaryPath),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
return; return;
} }
@ -1196,7 +1198,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
} else if (thread instanceof IMIProcessDMContext) { } else if (thread instanceof IMIProcessDMContext) {
getDebuggingContext( getDebuggingContext(
thread, thread,
new DataRequestMonitor<IDMContext>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
if (getData() instanceof IMIContainerDMContext) { if (getData() instanceof IMIContainerDMContext) {
@ -1207,7 +1209,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIInterpreterExecConsoleKill((IMIContainerDMContext)getData()), fCommandFactory.createMIInterpreterExecConsoleKill((IMIContainerDMContext)getData()),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid process context.", null)); //$NON-NLS-1$ rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, INTERNAL_ERROR, "Invalid process context.", null)); //$NON-NLS-1$
rm.done(); rm.done();
@ -1279,7 +1281,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
final String groupId = ((IMIContainerDMContext)containerDmc).getGroupId(); final String groupId = ((IMIContainerDMContext)containerDmc).getGroupId();
// This request monitor actually performs the restart // This request monitor actually performs the restart
RequestMonitor restartRm = new RequestMonitor(ImmediateExecutor.getInstance(), rm) { RequestMonitor restartRm = new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// For a restart, we are given the container context of the original process. However, we want to start // For a restart, we are given the container context of the original process. However, we want to start
@ -1287,7 +1289,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
// Pass in the groupId because starting with GDB 7.2, we must re-use the same groupId. // Pass in the groupId because starting with GDB 7.2, we must re-use the same groupId.
IContainerDMContext newContainerDmc = createContainerContextForRestart(groupId); IContainerDMContext newContainerDmc = createContainerContextForRestart(groupId);
startOrRestart(newContainerDmc, attributes, true, new DataRequestMonitor<IContainerDMContext>(ImmediateExecutor.getInstance(), rm) { startOrRestart(newContainerDmc, attributes, true, new ImmediateDataRequestMonitor<IContainerDMContext>(rm) {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (!isSuccess()) { if (!isSuccess()) {
@ -1414,7 +1416,7 @@ public class GDBProcesses_7_0 extends AbstractDsfService
// We also do this for a remote attach session, since the 'auto terminate' preference // We also do this for a remote attach session, since the 'auto terminate' preference
// is enabled. If users want to keep the session alive to attach to another process, // is enabled. If users want to keep the session alive to attach to another process,
// they can simply disable that preference // they can simply disable that preference
fCommandControl.terminate(new RequestMonitor(ImmediateExecutor.getInstance(), null)); fCommandControl.terminate(new ImmediateRequestMonitor());
} }
} }
fProcRestarting = false; fProcRestarting = false;

View file

@ -11,7 +11,8 @@
package org.eclipse.cdt.dsf.gdb.service; package org.eclipse.cdt.dsf.gdb.service;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -74,7 +75,7 @@ public class GDBProcesses_7_1 extends GDBProcesses_7_0 {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);
@ -125,7 +126,7 @@ public class GDBProcesses_7_1 extends GDBProcesses_7_0 {
// running on (each core that has a thread of that process). // running on (each core that has a thread of that process).
// We have to use -list-thread-groups to obtain that information // We have to use -list-thread-groups to obtain that information
// Note that -list-thread-groups does not show the 'user' field // Note that -list-thread-groups does not show the 'user' field
super.getExecutionData(dmc, new DataRequestMonitor<IThreadDMData>(ImmediateExecutor.getInstance(), rm) { super.getExecutionData(dmc, new ImmediateDataRequestMonitor<IThreadDMData>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final IThreadDMData firstLevelData = getData(); final IThreadDMData firstLevelData = getData();
@ -135,7 +136,7 @@ public class GDBProcesses_7_1 extends GDBProcesses_7_0 {
fCommandForCoresCache.execute( fCommandForCoresCache.execute(
fCommandFactory.createMIListThreadGroups(controlDmc), fCommandFactory.createMIListThreadGroups(controlDmc),
new DataRequestMonitor<MIListThreadGroupsInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIListThreadGroupsInfo>(rm) {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
String[] cores = null; String[] cores = null;
@ -165,7 +166,7 @@ public class GDBProcesses_7_1 extends GDBProcesses_7_0 {
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class); ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(dmc, ICommandControlDMContext.class);
fCommandForCoresCache.execute(fCommandFactory.createMIThreadInfo(controlDmc, threadDmc.getId()), fCommandForCoresCache.execute(fCommandFactory.createMIThreadInfo(controlDmc, threadDmc.getId()),
new DataRequestMonitor<MIThreadInfoInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIThreadInfoInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
IThreadDMData threadData = null; IThreadDMData threadData = null;

View file

@ -18,7 +18,9 @@ import java.util.Set;
import org.eclipse.cdt.debug.core.CDebugUtils; import org.eclipse.cdt.debug.core.CDebugUtils;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -93,7 +95,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);
@ -204,7 +206,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(procCtx, ICommandControlDMContext.class); ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(procCtx, ICommandControlDMContext.class);
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIAddInferior(controlDmc), fCommandFactory.createMIAddInferior(controlDmc),
new DataRequestMonitor<MIAddInferiorInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIAddInferiorInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
final String groupId = getData().getGroupId(); final String groupId = getData().getGroupId();
@ -237,7 +239,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(procCtx, ICommandControlDMContext.class); ICommandControlDMContext controlDmc = DMContexts.getAncestorOfType(procCtx, ICommandControlDMContext.class);
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetDisconnect(controlDmc), fCommandFactory.createMITargetDisconnect(controlDmc),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
fNeedToReconnect = true; fNeedToReconnect = true;
@ -259,7 +261,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
if (binaryPath != null) { if (binaryPath != null) {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIFileExecAndSymbols(fContainerDmc, binaryPath), fCommandFactory.createMIFileExecAndSymbols(fContainerDmc, binaryPath),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
// Because of a GDB 7.2 bug, for remote-attach sessions, // Because of a GDB 7.2 bug, for remote-attach sessions,
@ -306,7 +308,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetAttach(fContainerDmc, ((IMIProcessDMContext)procCtx).getProcId(), shouldInterrupt), fCommandFactory.createMITargetAttach(fContainerDmc, ((IMIProcessDMContext)procCtx).getProcId(), shouldInterrupt),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} }
}, },
// Start tracking this process' breakpoints. // Start tracking this process' breakpoints.
@ -389,7 +391,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
remoteTcpHost, remoteTcpPort, true), remoteTcpHost, remoteTcpPort, true),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
String serialDevice = CDebugUtils.getAttribute( String serialDevice = CDebugUtils.getAttribute(
attributes, attributes,
@ -398,7 +400,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMITargetSelect(fCommandControl.getContext(), fCommandFactory.createMITargetSelect(fCommandControl.getContext(),
serialDevice, true), serialDevice, true),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} }
} else { } else {
rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, INTERNAL_ERROR, "Cannot reconnect to target.", null)); //$NON-NLS-1$ rm.setStatus(new Status(IStatus.ERROR, GdbPlugin.PLUGIN_ID, INTERNAL_ERROR, "Cannot reconnect to target.", null)); //$NON-NLS-1$
@ -522,7 +524,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
public void restart(final IContainerDMContext containerDmc, Map<String, Object> attributes, public void restart(final IContainerDMContext containerDmc, Map<String, Object> attributes,
DataRequestMonitor<IContainerDMContext> rm) { DataRequestMonitor<IContainerDMContext> rm) {
fProcRestarting.add(containerDmc); fProcRestarting.add(containerDmc);
super.restart(containerDmc, attributes, new DataRequestMonitor<IContainerDMContext>(ImmediateExecutor.getInstance(), rm) { super.restart(containerDmc, attributes, new ImmediateDataRequestMonitor<IContainerDMContext>(rm) {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (!isSuccess()) { if (!isSuccess()) {
@ -546,7 +548,7 @@ public class GDBProcesses_7_2 extends GDBProcesses_7_1 {
IBreakpointsTargetDMContext bpTargetDmc = DMContexts.getAncestorOfType(dmc, IBreakpointsTargetDMContext.class); IBreakpointsTargetDMContext bpTargetDmc = DMContexts.getAncestorOfType(dmc, IBreakpointsTargetDMContext.class);
MIBreakpointsManager bpmService = getServicesTracker().getService(MIBreakpointsManager.class); MIBreakpointsManager bpmService = getServicesTracker().getService(MIBreakpointsManager.class);
if (bpmService != null) { if (bpmService != null) {
bpmService.stopTrackingBreakpoints(bpTargetDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null) { bpmService.stopTrackingBreakpoints(bpTargetDmc, new ImmediateRequestMonitor() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
// Ok, no need to report any error because we may have already shutdown. // Ok, no need to report any error because we may have already shutdown.

View file

@ -20,7 +20,7 @@ import java.util.Iterator;
import java.util.List; import java.util.List;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
@ -94,7 +94,7 @@ public class GDBRunControl extends MIRunControl {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -19,7 +19,7 @@ package org.eclipse.cdt.dsf.gdb.service;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
@ -100,7 +100,7 @@ public class GDBRunControl_7_0 extends MIRunControl implements IReverseRunContro
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -23,7 +23,10 @@ import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateCountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.MultiRequestMonitor; import org.eclipse.cdt.dsf.concurrent.MultiRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
@ -373,7 +376,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);
@ -1102,7 +1105,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
// This RM propagates any error to the original rm of the actual steps. // This RM propagates any error to the original rm of the actual steps.
// Even in case of errors for these steps, we want to continue the overall sequence // Even in case of errors for these steps, we want to continue the overall sequence
RequestMonitor stepsRm = new RequestMonitor(ImmediateExecutor.getInstance(), null) { RequestMonitor stepsRm = new ImmediateRequestMonitor() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
info.rm.setStatus(getStatus()); info.rm.setStatus(getStatus());
@ -1212,7 +1215,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
// If the process is running, get its first thread which we will need to suspend // If the process is running, get its first thread which we will need to suspend
fProcessService.getProcessesBeingDebugged( fProcessService.getProcessesBeingDebugged(
containerDmc, containerDmc,
new DataRequestMonitor<IDMContext[]>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext[]>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
IDMContext[] threads = getData(); IDMContext[] threads = getData();
@ -1234,7 +1237,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
// and need to be interrupted // and need to be interrupted
fProcessService.getProcessesBeingDebugged( fProcessService.getProcessesBeingDebugged(
fConnection.getContext(), fConnection.getContext(),
new DataRequestMonitor<IDMContext[]>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<IDMContext[]>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
assert getData() != null; assert getData() != null;
@ -1246,7 +1249,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
} else { } else {
// Go through every process to see if it is running. // Go through every process to see if it is running.
// If it is running, get its first thread so we can interrupt it. // If it is running, get its first thread so we can interrupt it.
CountingRequestMonitor crm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm); CountingRequestMonitor crm = new ImmediateCountingRequestMonitor(rm);
int numThreadsToSuspend = 0; int numThreadsToSuspend = 0;
for (IDMContext dmc : getData()) { for (IDMContext dmc : getData()) {
@ -1271,7 +1274,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
@Override @Override
public void execute(final RequestMonitor rm) { public void execute(final RequestMonitor rm) {
// Interrupt every first thread of the running processes // Interrupt every first thread of the running processes
CountingRequestMonitor crm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm); CountingRequestMonitor crm = new ImmediateCountingRequestMonitor(rm);
crm.setDoneCount(fExecutionDmcToSuspendSet.size()); crm.setDoneCount(fExecutionDmcToSuspendSet.size());
for (final IMIExecutionDMContext thread : fExecutionDmcToSuspendSet) { for (final IMIExecutionDMContext thread : fExecutionDmcToSuspendSet) {
@ -1282,7 +1285,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
fDisableNextSignalEventDmcSet.add(thread); fDisableNextSignalEventDmcSet.add(thread);
suspend(thread, suspend(thread,
new RequestMonitor(ImmediateExecutor.getInstance(), crm) { new ImmediateRequestMonitor(crm) {
@Override @Override
protected void handleFailure() { protected void handleFailure() {
// We weren't able to suspend, so abort the operation // We weren't able to suspend, so abort the operation
@ -1345,7 +1348,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
@Override @Override
public void execute(final RequestMonitor rm) { public void execute(final RequestMonitor rm) {
// Resume every thread we had interrupted // Resume every thread we had interrupted
CountingRequestMonitor crm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm); CountingRequestMonitor crm = new ImmediateCountingRequestMonitor(rm);
crm.setDoneCount(fExecutionDmcToSuspendSet.size()); crm.setDoneCount(fExecutionDmcToSuspendSet.size());
for (final IMIExecutionDMContext thread : fExecutionDmcToSuspendSet) { for (final IMIExecutionDMContext thread : fExecutionDmcToSuspendSet) {
@ -1357,7 +1360,7 @@ public class GDBRunControl_7_0_NS extends AbstractDsfService implements IMIRunCo
// so resume() will not know we are actually stopped // so resume() will not know we are actually stopped
fConnection.queueCommand( fConnection.queueCommand(
fCommandFactory.createMIExecContinue(thread), fCommandFactory.createMIExecContinue(thread),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), crm) { new ImmediateDataRequestMonitor<MIInfo>(crm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
fSilencedSignalEventMap.remove(thread); fSilencedSignalEventMap.remove(thread);

View file

@ -14,7 +14,8 @@ package org.eclipse.cdt.dsf.gdb.service;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.debug.service.IRunControl; import org.eclipse.cdt.dsf.debug.service.IRunControl;
@ -59,7 +60,7 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);
@ -113,7 +114,7 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
return; return;
} }
canSuspend(context, new DataRequestMonitor<Boolean>(ImmediateExecutor.getInstance(), rm) { canSuspend(context, new ImmediateDataRequestMonitor<Boolean>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
if (getData()) { if (getData()) {
@ -142,7 +143,7 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
return; return;
} }
canResume(context, new DataRequestMonitor<Boolean>(ImmediateExecutor.getInstance(), rm) { canResume(context, new ImmediateDataRequestMonitor<Boolean>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
if (getData()) { if (getData()) {

View file

@ -13,7 +13,7 @@ package org.eclipse.cdt.dsf.gdb.service;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
@ -396,7 +396,7 @@ public class GDBTraceControl_7_2 extends AbstractDsfService implements IGDBTrace
*/ */
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);
@ -698,7 +698,7 @@ public class GDBTraceControl_7_2 extends AbstractDsfService implements IGDBTrace
// of the frame when we load a trace file. // of the frame when we load a trace file.
// To get around this, we can force a select of record 0 // To get around this, we can force a select of record 0
final ITraceRecordDMContext initialRecord = createTraceRecordContext(context, "0"); //$NON-NLS-1$ final ITraceRecordDMContext initialRecord = createTraceRecordContext(context, "0"); //$NON-NLS-1$
selectTraceRecord(initialRecord, new RequestMonitor(ImmediateExecutor.getInstance(), rm) { selectTraceRecord(initialRecord, new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// This event will indicate to the other services that we are visualizing trace data. // This event will indicate to the other services that we are visualizing trace data.
@ -1045,7 +1045,7 @@ public class GDBTraceControl_7_2 extends AbstractDsfService implements IGDBTrace
public void getTraceRecordData(final ITraceRecordDMContext context, final DataRequestMonitor<ITraceRecordDMData> rm) { public void getTraceRecordData(final ITraceRecordDMContext context, final DataRequestMonitor<ITraceRecordDMData> rm) {
if (context instanceof MITraceRecordDMContext) { if (context instanceof MITraceRecordDMContext) {
RequestMonitor tdumpRm = new RequestMonitor(ImmediateExecutor.getInstance(), rm) { RequestMonitor tdumpRm = new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
fConnection.queueCommand( fConnection.queueCommand(

View file

@ -20,7 +20,7 @@ import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfExecutor; import org.eclipse.cdt.dsf.concurrent.DsfExecutor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ReflectionSequence; import org.eclipse.cdt.dsf.concurrent.ReflectionSequence;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -203,7 +203,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIBreakInsert(bpTargetDmc, true, false, null, 0, userStopSymbol, 0), fCommandFactory.createMIBreakInsert(bpTargetDmc, true, false, null, 0, userStopSymbol, 0),
new DataRequestMonitor<MIBreakInsertInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIBreakInsertInfo>(rm) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
if (getData() != null) { if (getData() != null) {
@ -234,7 +234,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIBreakInsert(bpTargetDmc, true, false, null, 0, fCommandFactory.createMIBreakInsert(bpTargetDmc, true, false, null, 0,
ICDTLaunchConfigurationConstants.DEBUGGER_STOP_AT_MAIN_SYMBOL_DEFAULT, 0), ICDTLaunchConfigurationConstants.DEBUGGER_STOP_AT_MAIN_SYMBOL_DEFAULT, 0),
new DataRequestMonitor<MIBreakInsertInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIBreakInsertInfo>(rm) {
@Override @Override
public void handleSuccess() { public void handleSuccess() {
if (getData() != null) { if (getData() != null) {
@ -274,7 +274,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
// Tell GDB to use this PTY // Tell GDB to use this PTY
fCommandControl.queueCommand( fCommandControl.queueCommand(
fCommandFactory.createMIInferiorTTYSet((IMIContainerDMContext)getContainerContext(), fPty.getSlaveName()), fCommandFactory.createMIInferiorTTYSet((IMIContainerDMContext)getContainerContext(), fPty.getSlaveName()),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleFailure() { protected void handleFailure() {
// We were not able to tell GDB to use the PTY // We were not able to tell GDB to use the PTY
@ -373,7 +373,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
} else { } else {
command = fCommandFactory.createMIExecRun(fContainerDmc); command = fCommandFactory.createMIExecRun(fContainerDmc);
} }
fCommandControl.queueCommand(command, new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm) { fCommandControl.queueCommand(command, new ImmediateDataRequestMonitor<MIInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
// Now that the process is started, the pid has been allocated // Now that the process is started, the pid has been allocated
@ -429,7 +429,7 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
public void stepContinue(RequestMonitor rm) { public void stepContinue(RequestMonitor rm) {
if (fReverseEnabled && !fUserBreakpointIsOnMain) { if (fReverseEnabled && !fUserBreakpointIsOnMain) {
fCommandControl.queueCommand(fCommandFactory.createMIExecContinue(fContainerDmc), fCommandControl.queueCommand(fCommandFactory.createMIExecContinue(fContainerDmc),
new DataRequestMonitor<MIInfo>(ImmediateExecutor.getInstance(), rm)); new ImmediateDataRequestMonitor<MIInfo>(rm));
} else { } else {
rm.done(); rm.done();
} }

View file

@ -30,6 +30,7 @@ import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
@ -43,10 +44,10 @@ import org.eclipse.cdt.dsf.gdb.service.IGDBBackend;
import org.eclipse.cdt.dsf.gdb.service.IGDBProcesses; import org.eclipse.cdt.dsf.gdb.service.IGDBProcesses;
import org.eclipse.cdt.dsf.mi.service.IMIBackend; import org.eclipse.cdt.dsf.mi.service.IMIBackend;
import org.eclipse.cdt.dsf.mi.service.IMIBackend.BackendStateChangedEvent; import org.eclipse.cdt.dsf.mi.service.IMIBackend.BackendStateChangedEvent;
import org.eclipse.cdt.dsf.mi.service.MIProcesses.ContainerExitedDMEvent;
import org.eclipse.cdt.dsf.mi.service.IMICommandControl; import org.eclipse.cdt.dsf.mi.service.IMICommandControl;
import org.eclipse.cdt.dsf.mi.service.IMIRunControl; import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
import org.eclipse.cdt.dsf.mi.service.MIProcesses; import org.eclipse.cdt.dsf.mi.service.MIProcesses;
import org.eclipse.cdt.dsf.mi.service.MIProcesses.ContainerExitedDMEvent;
import org.eclipse.cdt.dsf.mi.service.command.AbstractCLIProcess; import org.eclipse.cdt.dsf.mi.service.command.AbstractCLIProcess;
import org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl; import org.eclipse.cdt.dsf.mi.service.command.AbstractMIControl;
import org.eclipse.cdt.dsf.mi.service.command.CLIEventProcessor; import org.eclipse.cdt.dsf.mi.service.command.CLIEventProcessor;
@ -119,7 +120,7 @@ public class GDBControl extends AbstractMIControl implements IGDBControl {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize( new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -30,6 +30,7 @@ import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress; import org.eclipse.cdt.dsf.concurrent.RequestMonitorWithProgress;
import org.eclipse.cdt.dsf.concurrent.Sequence; import org.eclipse.cdt.dsf.concurrent.Sequence;
@ -119,7 +120,7 @@ public class GDBControl_7_0 extends AbstractMIControl implements IGDBControl {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -13,7 +13,7 @@ package org.eclipse.cdt.dsf.gdb.service.macos;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.debug.service.IProcesses; import org.eclipse.cdt.dsf.debug.service.IProcesses;
import org.eclipse.cdt.dsf.debug.service.IRunControl.ISuspendedDMEvent; import org.eclipse.cdt.dsf.debug.service.IRunControl.ISuspendedDMEvent;
@ -32,7 +32,7 @@ public class MacOSGDBProcesses extends GDBProcesses {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -14,7 +14,7 @@ package org.eclipse.cdt.dsf.gdb.service.macos;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.debug.service.IRunControl; import org.eclipse.cdt.dsf.debug.service.IRunControl;
@ -42,7 +42,7 @@ public class MacOSGDBRunControl extends GDBRunControl {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -21,7 +21,7 @@ import org.eclipse.cdt.debug.core.sourcelookup.CProjectSourceContainer;
import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector; import org.eclipse.cdt.debug.internal.core.sourcelookup.CSourceLookupDirector;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.debug.service.ISourceLookup; import org.eclipse.cdt.dsf.debug.service.ISourceLookup;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControl; import org.eclipse.cdt.dsf.debug.service.command.ICommandControl;
@ -126,7 +126,7 @@ public class CSourceLookup extends AbstractDsfService implements ISourceLookup {
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -20,7 +20,7 @@ import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Sequence.Step; import org.eclipse.cdt.dsf.concurrent.Sequence.Step;
@ -293,7 +293,7 @@ public class MIBreakpoints extends AbstractDsfService implements IBreakpoints, I
*/ */
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);

View file

@ -41,7 +41,7 @@ import org.eclipse.cdt.debug.internal.core.breakpoints.BreakpointProblems;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ThreadSafe; import org.eclipse.cdt.dsf.concurrent.ThreadSafe;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -229,7 +229,7 @@ public class MIBreakpointsManager extends AbstractDsfService implements IBreakpo
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), rm) { new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);

View file

@ -15,7 +15,7 @@ import java.math.BigInteger;
import java.util.Hashtable; import java.util.Hashtable;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.debug.service.IDisassembly; import org.eclipse.cdt.dsf.debug.service.IDisassembly;
import org.eclipse.cdt.dsf.debug.service.IInstruction; import org.eclipse.cdt.dsf.debug.service.IInstruction;
@ -54,7 +54,7 @@ public class MIDisassembly extends AbstractDsfService implements IDisassembly {
*/ */
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), rm) { super.initialize(new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);

View file

@ -19,7 +19,7 @@ import java.util.Map;
import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
import org.eclipse.cdt.dsf.datamodel.AbstractDMEvent; import org.eclipse.cdt.dsf.datamodel.AbstractDMEvent;
@ -659,7 +659,7 @@ public class MIExpressions extends AbstractDsfService implements IMIExpressions,
*/ */
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -24,7 +24,7 @@ import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMEvent; import org.eclipse.cdt.dsf.datamodel.AbstractDMEvent;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -119,7 +119,7 @@ public class MIMemory extends AbstractDsfService implements IMemory, ICachingSer
*/ */
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -16,7 +16,7 @@ import java.util.Hashtable;
import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -54,7 +54,7 @@ public class MIModules extends AbstractDsfService implements IModules, ICachingS
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -13,7 +13,7 @@ package org.eclipse.cdt.dsf.mi.service;
import java.util.Map; import java.util.Map;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
@ -356,7 +356,7 @@ public class MIProcesses extends AbstractDsfService implements IMIProcesses, ICa
*/ */
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize(new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { super.initialize(new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -16,16 +16,16 @@ import java.util.Hashtable;
import java.util.List; import java.util.List;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.datamodel.IDMContext; import org.eclipse.cdt.dsf.datamodel.IDMContext;
import org.eclipse.cdt.dsf.debug.service.ICachingService; import org.eclipse.cdt.dsf.debug.service.ICachingService;
import org.eclipse.cdt.dsf.debug.service.IExpressions; import org.eclipse.cdt.dsf.debug.service.IExpressions;
import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext;
import org.eclipse.cdt.dsf.debug.service.IRegisters; import org.eclipse.cdt.dsf.debug.service.IRegisters;
import org.eclipse.cdt.dsf.debug.service.IRunControl; import org.eclipse.cdt.dsf.debug.service.IRunControl;
import org.eclipse.cdt.dsf.debug.service.IExpressions.IExpressionDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext; import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.StateChangeReason; import org.eclipse.cdt.dsf.debug.service.IRunControl.StateChangeReason;
import org.eclipse.cdt.dsf.debug.service.command.BufferedCommandControl; import org.eclipse.cdt.dsf.debug.service.command.BufferedCommandControl;
@ -165,7 +165,7 @@ public class MIRegisters extends AbstractDsfService implements IRegisters, ICach
@Override @Override
public void initialize(final RequestMonitor requestMonitor) { public void initialize(final RequestMonitor requestMonitor) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), requestMonitor) { new ImmediateRequestMonitor(requestMonitor) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(requestMonitor); doInitialize(requestMonitor);

View file

@ -20,6 +20,7 @@ import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor;
import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Immutable; import org.eclipse.cdt.dsf.concurrent.Immutable;
import org.eclipse.cdt.dsf.concurrent.MultiRequestMonitor; import org.eclipse.cdt.dsf.concurrent.MultiRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
@ -397,7 +398,7 @@ public class MIRunControl extends AbstractDsfService implements IMIRunControl, I
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), rm) { new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);
@ -1093,7 +1094,7 @@ public class MIRunControl extends AbstractDsfService implements IMIRunControl, I
// This RM propagates any error to the original rm of the actual steps. // This RM propagates any error to the original rm of the actual steps.
// Even in case of errors for these steps, we want to continue the overall sequence // Even in case of errors for these steps, we want to continue the overall sequence
RequestMonitor stepsRm = new RequestMonitor(ImmediateExecutor.getInstance(), null) { RequestMonitor stepsRm = new ImmediateRequestMonitor() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
info.rm.setStatus(getStatus()); info.rm.setStatus(getStatus());

View file

@ -22,7 +22,7 @@ import java.util.Map;
import org.eclipse.cdt.core.IAddress; import org.eclipse.cdt.core.IAddress;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.AbstractDMContext; import org.eclipse.cdt.dsf.datamodel.AbstractDMContext;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -189,7 +189,7 @@ public class MIStack extends AbstractDsfService
@Override @Override
public void initialize(final RequestMonitor rm) { public void initialize(final RequestMonitor rm) {
super.initialize( super.initialize(
new RequestMonitor(ImmediateExecutor.getInstance(), rm) { new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
doInitialize(rm); doInitialize(rm);

View file

@ -22,7 +22,7 @@ import org.eclipse.cdt.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService; import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService;
@ -103,7 +103,7 @@ public class MIBackendCLIProcess extends AbstractCLIProcess {
rm.done(); rm.done();
} else { } else {
fExitedEventListener.fWaitForRMs.add( fExitedEventListener.fWaitForRMs.add(
new RequestMonitor(ImmediateExecutor.getInstance(), rm) { new ImmediateRequestMonitor(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
rm.setData(new Object()); rm.setData(new Object());

View file

@ -26,9 +26,8 @@ import org.eclipse.cdt.dsf.concurrent.ConfinedToDsfExecutor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DsfRunnable; import org.eclipse.cdt.dsf.concurrent.DsfRunnable;
import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants; import org.eclipse.cdt.dsf.concurrent.IDsfStatusConstants;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ThreadSafe; import org.eclipse.cdt.dsf.concurrent.ThreadSafe;
import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor; import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -353,7 +352,7 @@ public class MIInferiorProcess extends Process
tracker.dispose(); tracker.dispose();
if (procService != null) { if (procService != null) {
IProcessDMContext procDmc = DMContexts.getAncestorOfType(fContainerDMContext, IProcessDMContext.class); IProcessDMContext procDmc = DMContexts.getAncestorOfType(fContainerDMContext, IProcessDMContext.class);
procService.terminate(procDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null)); procService.terminate(procDmc, new ImmediateRequestMonitor());
} else { } else {
setTerminated(); setTerminated();
} }

View file

@ -20,7 +20,7 @@ import java.util.concurrent.TimeUnit;
import junit.framework.Assert; import junit.framework.Assert;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor; import org.eclipse.cdt.dsf.concurrent.ThreadSafeAndProhibitedFromDsfExecutor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
@ -378,7 +378,7 @@ public class SyncUtil {
Query<IFrameDMContext> query = new Query<IFrameDMContext>() { Query<IFrameDMContext> query = new Query<IFrameDMContext>() {
@Override @Override
protected void execute(final DataRequestMonitor<IFrameDMContext> rm) { protected void execute(final DataRequestMonitor<IFrameDMContext> rm) {
fStack.getFrames(execCtx, new DataRequestMonitor<IFrameDMContext[]>(ImmediateExecutor.getInstance(), rm) { fStack.getFrames(execCtx, new ImmediateDataRequestMonitor<IFrameDMContext[]>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
if (getData().length > level) { if (getData().length > level) {
@ -400,7 +400,7 @@ public class SyncUtil {
Query<IFrameDMData> query = new Query<IFrameDMData>() { Query<IFrameDMData> query = new Query<IFrameDMData>() {
@Override @Override
protected void execute(final DataRequestMonitor<IFrameDMData> rm) { protected void execute(final DataRequestMonitor<IFrameDMData> rm) {
fStack.getFrames(execCtx, level, level, new DataRequestMonitor<IFrameDMContext[]>(ImmediateExecutor.getInstance(), rm) { fStack.getFrames(execCtx, level, level, new ImmediateDataRequestMonitor<IFrameDMContext[]>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
IFrameDMContext[] frameDmcs = getData(); IFrameDMContext[] frameDmcs = getData();
@ -557,7 +557,7 @@ public class SyncUtil {
protected void execute(final DataRequestMonitor<IContainerDMContext> rm) { protected void execute(final DataRequestMonitor<IContainerDMContext> rm) {
fProcessesService.getProcessesBeingDebugged( fProcessesService.getProcessesBeingDebugged(
fGdbControl.getContext(), fGdbControl.getContext(),
new DataRequestMonitor<IDMContext[]>(ImmediateExecutor.getInstance(), null) { new ImmediateDataRequestMonitor<IDMContext[]>() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (isSuccess()) { if (isSuccess()) {
@ -598,7 +598,7 @@ public class SyncUtil {
protected void execute(final DataRequestMonitor<IMIExecutionDMContext> rm) { protected void execute(final DataRequestMonitor<IMIExecutionDMContext> rm) {
fProcessesService.getProcessesBeingDebugged( fProcessesService.getProcessesBeingDebugged(
containerDmc, containerDmc,
new DataRequestMonitor<IDMContext[]>(ImmediateExecutor.getInstance(), null) { new ImmediateDataRequestMonitor<IDMContext[]>() {
@Override @Override
protected void handleCompleted() { protected void handleCompleted() {
if (isSuccess()) { if (isSuccess()) {
@ -638,7 +638,7 @@ public class SyncUtil {
protected void execute(final DataRequestMonitor<Boolean> rm) { protected void execute(final DataRequestMonitor<Boolean> rm) {
fProcessesService.canRestart( fProcessesService.canRestart(
containerDmc, containerDmc,
new DataRequestMonitor<Boolean>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<Boolean>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
rm.setData(getData()); rm.setData(getData());

View file

@ -21,7 +21,8 @@ import java.util.List;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor; import org.eclipse.cdt.dsf.concurrent.CountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateCountingRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor; import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.CompositeDMContext; import org.eclipse.cdt.dsf.datamodel.CompositeDMContext;
@ -250,13 +251,13 @@ public class MIRegistersTest extends BaseTestCase {
protected void execute(DataRequestMonitor<IRegisterDMData[]> rm) { protected void execute(DataRequestMonitor<IRegisterDMData[]> rm) {
final IRegisterDMData[] datas = new IRegisterDMData[regDMCs.length]; final IRegisterDMData[] datas = new IRegisterDMData[regDMCs.length];
rm.setData(datas); rm.setData(datas);
final CountingRequestMonitor countingRm = new CountingRequestMonitor(ImmediateExecutor.getInstance(), rm); final CountingRequestMonitor countingRm = new ImmediateCountingRequestMonitor(rm);
countingRm.setDoneCount(regDMCs.length); countingRm.setDoneCount(regDMCs.length);
for (int i = 0; i < regDMCs.length; i++) { for (int i = 0; i < regDMCs.length; i++) {
final int index = i; final int index = i;
fRegService.getRegisterData( fRegService.getRegisterData(
regDMCs[index], regDMCs[index],
new DataRequestMonitor<IRegisterDMData>(ImmediateExecutor.getInstance(), countingRm) { new ImmediateDataRequestMonitor<IRegisterDMData>(countingRm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
datas[index] = getData(); datas[index] = getData();

View file

@ -18,9 +18,8 @@ import java.util.concurrent.TimeoutException;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.concurrent.RequestMonitor;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext; import org.eclipse.cdt.dsf.debug.service.IProcesses.IProcessDMContext;
import org.eclipse.cdt.dsf.debug.service.IRunControl.IExitedDMEvent; import org.eclipse.cdt.dsf.debug.service.IRunControl.IExitedDMEvent;
@ -172,7 +171,7 @@ public class OperationsWhileTargetIsRunningTest extends BaseTestCase {
Runnable runnable = new Runnable() { Runnable runnable = new Runnable() {
public void run() { public void run() {
IProcessDMContext processDmc = DMContexts.getAncestorOfType(fContainerDmc, IProcessDMContext.class); IProcessDMContext processDmc = DMContexts.getAncestorOfType(fContainerDmc, IProcessDMContext.class);
fProcesses.terminate(processDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null)); fProcesses.terminate(processDmc, new ImmediateRequestMonitor());
} }
}; };
fProcesses.getExecutor().execute(runnable); fProcesses.getExecutor().execute(runnable);
@ -260,7 +259,7 @@ public class OperationsWhileTargetIsRunningTest extends BaseTestCase {
// But that is ok because we wait for a shutdown event right after // But that is ok because we wait for a shutdown event right after
Runnable runnable = new Runnable() { Runnable runnable = new Runnable() {
public void run() { public void run() {
fProcesses.detachDebuggerFromProcess(fContainerDmc, new RequestMonitor(ImmediateExecutor.getInstance(), null)); fProcesses.detachDebuggerFromProcess(fContainerDmc, new ImmediateRequestMonitor());
} }
}; };
fProcesses.getExecutor().execute(runnable); fProcesses.getExecutor().execute(runnable);

View file

@ -19,7 +19,7 @@ import java.util.concurrent.TimeoutException;
import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants; import org.eclipse.cdt.debug.core.ICDTLaunchConfigurationConstants;
import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor; import org.eclipse.cdt.dsf.concurrent.DataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.ImmediateExecutor; import org.eclipse.cdt.dsf.concurrent.ImmediateDataRequestMonitor;
import org.eclipse.cdt.dsf.concurrent.Query; import org.eclipse.cdt.dsf.concurrent.Query;
import org.eclipse.cdt.dsf.datamodel.DMContexts; import org.eclipse.cdt.dsf.datamodel.DMContexts;
import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext; import org.eclipse.cdt.dsf.debug.service.IBreakpoints.IBreakpointsTargetDMContext;
@ -76,12 +76,12 @@ public class LaunchConfigurationAndRestartTest_7_0 extends LaunchConfigurationAn
protected void execute(final DataRequestMonitor<MIBreakListInfo> rm) { protected void execute(final DataRequestMonitor<MIBreakListInfo> rm) {
fGdbControl.queueCommand( fGdbControl.queueCommand(
fGdbControl.getCommandFactory().createCLITrace(bpTargetDmc, "invalid", ""), fGdbControl.getCommandFactory().createCLITrace(bpTargetDmc, "invalid", ""),
new DataRequestMonitor<CLITraceInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<CLITraceInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
fGdbControl.queueCommand( fGdbControl.queueCommand(
fGdbControl.getCommandFactory().createMIBreakList(bpTargetDmc), fGdbControl.getCommandFactory().createMIBreakList(bpTargetDmc),
new DataRequestMonitor<MIBreakListInfo>(ImmediateExecutor.getInstance(), rm) { new ImmediateDataRequestMonitor<MIBreakListInfo>(rm) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
rm.setData(getData()); rm.setData(getData());