Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Khouzam2012-02-02 11:14:56 +0000
committerMarc Khouzam2012-02-02 11:14:56 +0000
commitce342ee755ee0eeae46cf8f3b50e24bb36213043 (patch)
tree7bf8e2c4af6160ad24a127ecb1d54ceba1c41fe4
parent4592315011833f48520d438c7d399f3640fd414d (diff)
downloadorg.eclipse.cdt-ce342ee755ee0eeae46cf8f3b50e24bb36213043.tar.gz
org.eclipse.cdt-ce342ee755ee0eeae46cf8f3b50e24bb36213043.tar.xz
org.eclipse.cdt-ce342ee755ee0eeae46cf8f3b50e24bb36213043.zip
Bug 370376: [remote] Remote non-attach should not have a console for the inferior
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java7
-rw-r--r--dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java9
2 files changed, 16 insertions, 0 deletions
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java
index 07f6120ad03..d6b40ea618b 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/GDBProcesses.java
@@ -505,6 +505,13 @@ public class GDBProcesses extends MIProcesses implements IGDBProcesses {
* @since 4.0
*/
protected void createConsole(final IContainerDMContext containerDmc, final boolean restart, final RequestMonitor rm) {
+ if (fBackend.getSessionType() == SessionType.REMOTE || fBackend.getIsAttachSession()) {
+ // Remote or attach sessions shouldn't have a console, since the inferior is not started
+ // by eclipse but by gdbserver
+ rm.done();
+ return;
+ }
+
initializeInputOutput(containerDmc, new ImmediateRequestMonitor(rm) {
@Override
protected void handleSuccess() {
diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java
index 7d6b2d065c0..43634a226f9 100644
--- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java
+++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/gdb/service/StartOrRestartProcessSequence_7_0.java
@@ -295,6 +295,15 @@ public class StartOrRestartProcessSequence_7_0 extends ReflectionSequence {
*/
@Execute
public void stepCreateConsole(final RequestMonitor rm) {
+ if (fBackend.getSessionType() == SessionType.REMOTE && !fBackend.getIsAttachSession()) {
+ // Remote non-attach sessions don't support multi-process and therefore will not
+ // start new processes. Those sessions will only start the one process, which should
+ // not have a console, because it's output is handled by GDB server. Therefore,
+ // no need to create an inferior process and add it to the launch
+ rm.done();
+ return;
+ }
+
Process inferiorProcess;
if (fPty == null) {
inferiorProcess = new MIInferiorProcess(fContainerDmc, fBackend.getMIOutputStream());

Back to the top