diff options
author | eutarass | 2008-07-02 00:55:17 +0000 |
---|---|---|
committer | eutarass | 2008-07-02 00:55:17 +0000 |
commit | c8c0ed7ca6d7b071b5937da6557655b478033d19 (patch) | |
tree | 20d4d3508b60a9b9a5cb23d00575df102afd889c /plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch | |
parent | 4197d7dde1857b07d118d109d6e5a0495d76c2fe (diff) | |
download | org.eclipse.tcf-c8c0ed7ca6d7b071b5937da6557655b478033d19.tar.gz org.eclipse.tcf-c8c0ed7ca6d7b071b5937da6557655b478033d19.tar.xz org.eclipse.tcf-c8c0ed7ca6d7b071b5937da6557655b478033d19.zip |
1. Workaround of deadlock condition in DSF
2. Removed unused interface TCFLaunch.TerminateListener
Diffstat (limited to 'plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch')
-rw-r--r-- | plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch/TCFLaunchDelegate.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch/TCFLaunchDelegate.java b/plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch/TCFLaunchDelegate.java index 3cf67e271..b25cb9303 100644 --- a/plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch/TCFLaunchDelegate.java +++ b/plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch/TCFLaunchDelegate.java @@ -14,7 +14,6 @@ import java.io.IOException; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.model.LaunchConfigurationDelegate; @@ -37,24 +36,21 @@ public class TCFLaunchDelegate extends LaunchConfigurationDelegate { } public void launch(final ILaunchConfiguration configuration, final String mode, - final ILaunch launch, IProgressMonitor monitor) throws CoreException { - if (monitor == null) monitor = new NullProgressMonitor(); - monitor.beginTask("Launching debugger session", 1); //$NON-NLS-1$ - Protocol.invokeAndWait(new Runnable() { + final ILaunch launch, final IProgressMonitor monitor) throws CoreException { + if (monitor != null) monitor.beginTask("Launching TCF debugger session", 1); //$NON-NLS-1$ + Protocol.invokeLater(new Runnable() { public void run() { try { String id = configuration.getAttribute(TCFLaunchDelegate.ATTR_PEER_ID, ""); IPeer peer = Protocol.getLocator().getPeers().get(id); if (peer == null) throw new IOException("Cannot locate peer " + id); - TCFLaunch.TerminateListener term = null; - if (peer instanceof TCFLaunch.TerminateListener) term = (TCFLaunch.TerminateListener)peer; - ((TCFLaunch)launch).launchTCF(mode, peer, term); + ((TCFLaunch)launch).launchTCF(mode, peer); } catch (Throwable e) { ((TCFLaunch)launch).setError(e); } + if (monitor != null) monitor.done(); } }); - monitor.done(); } } |