diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java index 8e1ee42a2ce..a5af839127b 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/Configuration.java @@ -6,7 +6,9 @@ package org.eclipse.cdt.debug.mi.core.cdi; import org.eclipse.cdt.debug.core.cdi.ICDIConfiguration; +import org.eclipse.cdt.debug.mi.core.MIInferior; import org.eclipse.cdt.debug.mi.core.MISession; +import org.eclipse.cdt.utils.spawner.Spawner; /** * @author alain @@ -94,13 +96,6 @@ public class Configuration implements ICDIConfiguration { return true; } - /** - * @see org.eclipse.cdt.debug.core.cdi.ICDIConfiguration#supportsSuspendResume() - */ - public boolean supportsSuspendResume() { - return true; - } - /** * @see org.eclipse.cdt.debug.core.cdi.ICDIConfiguration#supportsTerminate() */ @@ -119,6 +114,23 @@ public class Configuration implements ICDIConfiguration { * @see org.eclipse.cdt.debug.core.cdi.ICDIConfiguration#supportsSuspend() */ public boolean supportsSuspend() { + String os = null; + try { + os = System.getProperty("os.name", ""); + } catch (SecurityException e) { + } + // FIXME: bug in gdb whe using -tty sending a control-c + // to gdb does not work. + if (os.equals("SunOS")) { + return false; + } + Process gdb = miSession.getMIProcess(); + if (gdb instanceof Spawner) { + MIInferior inferior = miSession.getMIInferior(); + if (inferior.getPTY() != null) { + return true; + } + } return false; } diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java index d49b6d05c83..583874dc3c1 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java +++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/CoreFileConfiguration.java @@ -16,10 +16,6 @@ public class CoreFileConfiguration implements ICDIConfiguration { return false; } - public boolean supportsSuspendResume() { - return false; - } - public boolean supportsRestart() { return false; } @@ -59,7 +55,7 @@ public class CoreFileConfiguration implements ICDIConfiguration { * @see org.eclipse.cdt.debug.core.cdi.ICDIConfiguration#supportsResume() */ public boolean supportsResume() { - return true; + return false; } /**