Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2008-07-02 00:55:17 +0000
committereutarass2008-07-02 00:55:17 +0000
commitc8c0ed7ca6d7b071b5937da6557655b478033d19 (patch)
tree20d4d3508b60a9b9a5cb23d00575df102afd889c /plugins/org.eclipse.tm.tcf.debug/src/org/eclipse/tm/internal/tcf/debug/launch
parent4197d7dde1857b07d118d109d6e5a0495d76c2fe (diff)
downloadorg.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.java14
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();
}
}

Back to the top