From 0e0f45641263c0f961a047d57df24ced519dc197 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Wed, 9 Jun 2004 03:00:25 +0000 Subject: 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 --- launch/org.eclipse.cdt.launch/ChangeLog | 7 +++++++ .../org/eclipse/cdt/launch/internal/CoreFileLaunchDelegate.java | 7 +++++++ .../cdt/launch/internal/LocalCLaunchConfigurationDelegate.java | 7 +++++++ 3 files changed, 21 insertions(+) (limited to 'launch/org.eclipse.cdt.launch') 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 { -- cgit v1.2.3