diff options
author | Alain Magloire | 2004-06-09 03:00:25 +0000 |
---|---|---|
committer | Alain Magloire | 2004-06-09 03:00:25 +0000 |
commit | 0e0f45641263c0f961a047d57df24ced519dc197 (patch) | |
tree | 3d085eb9ad8fb9f39e0f2a34ce11160550056f89 /launch | |
parent | 6ba0814133e19919941e117efe10d313d23be1ab (diff) | |
download | org.eclipse.cdt-0e0f45641263c0f961a047d57df24ced519dc197.tar.gz org.eclipse.cdt-0e0f45641263c0f961a047d57df24ced519dc197.tar.xz org.eclipse.cdt-0e0f45641263c0f961a047d57df24ced519dc197.zip |
Make sure when something goes wrong before
getting out the launch sequence to terminate the session.
* src/org/eclise/cdt/launch/internal/CoreFileLaunchDelegate.java
* src/org/eclise/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java
Diffstat (limited to 'launch')
3 files changed, 21 insertions, 0 deletions
diff --git a/launch/org.eclipse.cdt.launch/ChangeLog b/launch/org.eclipse.cdt.launch/ChangeLog index d0ba37475bd..7da2af8ce06 100644 --- a/launch/org.eclipse.cdt.launch/ChangeLog +++ b/launch/org.eclipse.cdt.launch/ChangeLog @@ -1,3 +1,10 @@ +2004-06-08 Alain Magloire + Make sure when something goes wrong before + getting out the launch sequence to terminate the session. + + * src/org/eclise/cdt/launch/internal/CoreFileLaunchDelegate.java + * src/org/eclise/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java + 2004-04-23 David Inglis fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=59680 diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java index 723bb4f89ef..864e67c47a3 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java @@ -57,6 +57,13 @@ public class CoreFileLaunchDelegate extends AbstractCLaunchDelegate { dsession = debugConfig.getDebugger().createCoreSession(config, exeFile, corefile); debugger = dsession.getSessionProcess(); } catch (CDIException e) { + if (dsession != null) { + try { + dsession.terminate(); + } catch (CDIException ex) { + // ignore + } + } abort(LaunchUIPlugin.getResourceString("CoreFileLaunchDelegate.Failed_Launching_CDI_Debugger"), e, ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR); //$NON-NLS-1$ } if ( debugger != null ) { diff --git a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java index 8197155db7d..c401fa68957 100644 --- a/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java +++ b/launch/org.eclipse.cdt.launch/src/org/eclipse/cdt/launch/internal/LocalCLaunchConfigurationDelegate.java @@ -133,6 +133,13 @@ public class LocalCLaunchConfigurationDelegate extends AbstractCLaunchDelegate { exeFile); } } catch (CDIException e) { + if (dsession != null) { + try { + dsession.terminate(); + } catch (CDIException ex) { + // ignore + } + } abort(LaunchUIPlugin.getResourceString("LocalCLaunchConfigurationDelegate.Failed_Launching_CDI_Debugger"), e, ICDTLaunchConfigurationConstants.ERR_INTERNAL_ERROR); //$NON-NLS-1$ } } else { |