summaryrefslogtreecommitdiffstatsabout
diff options
context:
space:
mode:
authorBernd Hufmann2013-03-13 13:18:35 (EDT)
committer Bernd Hufmann2013-03-13 14:30:29 (EDT)
commita09d6451f28b956e1da73e95c3ea7cb75a9adfdd (patch)
treee2932f82a76b082dcf328fe0ed1fe54f88f8b508
parent68590c823be7a08df14fe9b2d1fd1e1ded48e8b9 (diff)
downloadorg.eclipse.linuxtools-a09d6451f28b956e1da73e95c3ea7cb75a9adfdd.zip
org.eclipse.linuxtools-a09d6451f28b956e1da73e95c3ea7cb75a9adfdd.tar.gz
org.eclipse.linuxtools-a09d6451f28b956e1da73e95c3ea7cb75a9adfdd.tar.bz2
gdb trace: Fix shutdown deadlockrefs/changes/12/11112/3
Change-Id: I16b822e3bf413d2dae86b95614fb12883d50240f Signed-off-by: Bernd Hufmann <bhufmann@gmail.com> Reviewed-on: https://git.eclipse.org/r/11112 Tested-by: Hudson CI Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com> IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>
-rw-r--r--lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/trace/DsfGdbAdaptor.java19
1 files changed, 7 insertions, 12 deletions
diff --git a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/trace/DsfGdbAdaptor.java b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/trace/DsfGdbAdaptor.java
index d70e7e0..604dc65 100644
--- a/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/trace/DsfGdbAdaptor.java
+++ b/lttng/org.eclipse.linuxtools.gdbtrace.core/src/org/eclipse/linuxtools/internal/gdbtrace/trace/DsfGdbAdaptor.java
@@ -10,6 +10,7 @@
* Marc Dumais - Initial implementation
* Francois Chouinard - Misc improvements, DSF signal handling, dynamic experiment
* Patrick Tasse - Updated for TMF 2.0
+ * Bernd Hufmann - Fixed deadlock during shutdown
*******************************************************************************/
package org.eclipse.linuxtools.internal.gdbtrace.trace;
@@ -33,7 +34,6 @@ import org.eclipse.cdt.dsf.debug.service.IRunControl.IContainerDMContext;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService;
import org.eclipse.cdt.dsf.debug.service.command.ICommandControlService.ICommandControlDMContext;
import org.eclipse.cdt.dsf.gdb.internal.GdbPlugin;
-import org.eclipse.cdt.dsf.gdb.internal.ui.GdbUIPlugin;
import org.eclipse.cdt.dsf.gdb.launching.GdbLaunch;
import org.eclipse.cdt.dsf.gdb.service.GDBTraceControl_7_2.TraceRecordSelectedChangedEvent;
import org.eclipse.cdt.dsf.gdb.service.IGDBTraceControl;
@@ -318,17 +318,12 @@ public class DsfGdbAdaptor {
public void dispose() {
if (fLaunch != null && fLaunch.canTerminate() && !isTerminating) {
isTerminating = true;
- GdbUIPlugin.getShell().getDisplay().asyncExec(new Runnable() {
- @Override
- public void run() {
- try {
- fLaunch.terminate();
- } catch (DebugException e) {
- e.printStackTrace();
- }
- fLaunch = null;
- }
- });
+ try {
+ fLaunch.terminate();
+ } catch (DebugException e) {
+ e.printStackTrace();
+ }
+ fLaunch = null;
}
}