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

Bug 353423: Simpler solution using -thread-info instead of -list-thread-groups --recurse 1

This commit is contained in:
Marc Khouzam 2011-08-01 11:32:38 -04:00
parent ebfa9bcd0a
commit fd690737ac

View file

@ -30,10 +30,8 @@ import org.eclipse.cdt.dsf.mi.service.IMIExecutionDMContext;
import org.eclipse.cdt.dsf.mi.service.IMIRunControl; import org.eclipse.cdt.dsf.mi.service.IMIRunControl;
import org.eclipse.cdt.dsf.mi.service.command.CommandFactory; import org.eclipse.cdt.dsf.mi.service.command.CommandFactory;
import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo; import org.eclipse.cdt.dsf.mi.service.command.output.MIInfo;
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo;
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo.IThreadGroupInfo;
import org.eclipse.cdt.dsf.mi.service.command.output.MIListThreadGroupsInfo.IThreadGroupInfo2;
import org.eclipse.cdt.dsf.mi.service.command.output.MIThread; import org.eclipse.cdt.dsf.mi.service.command.output.MIThread;
import org.eclipse.cdt.dsf.mi.service.command.output.MIThreadInfoInfo;
import org.eclipse.cdt.dsf.service.DsfSession; import org.eclipse.cdt.dsf.service.DsfSession;
import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.Status;
@ -179,20 +177,16 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
fConnection.queueCommand(fCommandFactory.createMIExecContinue(context), new DataRequestMonitor<MIInfo>(getExecutor(), rm)); fConnection.queueCommand(fCommandFactory.createMIExecContinue(context), new DataRequestMonitor<MIInfo>(getExecutor(), rm));
} }
/** /**
* @since 4.1 * @since 4.1
*/ */
protected void refreshThreads() { protected void refreshThreads() {
fConnection.queueCommand( fConnection.queueCommand(
fCommandFactory.createMIListThreadGroups(fConnection.getContext(), false, true), fCommandFactory.createMIThreadInfo(fConnection.getContext()),
new DataRequestMonitor<MIListThreadGroupsInfo>(getExecutor(), null) { new DataRequestMonitor<MIThreadInfoInfo>(getExecutor(), null) {
@Override @Override
protected void handleSuccess() { protected void handleSuccess() {
IThreadGroupInfo[] groups = getData().getGroupList(); MIThread[] threadList = getData().getThreadList();
for (IThreadGroupInfo group : groups) {
if (group instanceof IThreadGroupInfo2) {
MIThread[] threadList = ((IThreadGroupInfo2)group).getThreads();
for (MIThread thread : threadList) { for (MIThread thread : threadList) {
String threadId = thread.getThreadId(); String threadId = thread.getThreadId();
IMIContainerDMContext containerDmc = IMIContainerDMContext containerDmc =
@ -227,8 +221,6 @@ public class GDBRunControl_7_2_NS extends GDBRunControl_7_0_NS
} }
} }
} }
}
}
}); });
} }