Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Ferrazzutti2014-08-06 20:39:29 +0000
committerAlexander Kurtakov2014-09-09 18:40:47 +0000
commit6660c859649c684aa598bc46604d94672bf8776b (patch)
tree200842b951f966bcd498c2d58daf6e6c28d338e5 /systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures
parent916878e3fc36309dbc3c894ad9d094c7772742b7 (diff)
downloadorg.eclipse.linuxtools-6660c859649c684aa598bc46604d94672bf8776b.tar.gz
org.eclipse.linuxtools-6660c859649c684aa598bc46604d94672bf8776b.tar.xz
org.eclipse.linuxtools-6660c859649c684aa598bc46604d94672bf8776b.zip
Systemtap: Improve BrowserView UI loading.
Remove a number of race conditions that caused errors in the contents of BrowserViews (Function view, Probe Alias view). Also ensure that parser processes are terminated once they are cancelled, and make some other minor UI and logic adjustments. Change-Id: I4b65c5a7dd9622db5a10dc3822f0ea2fdec430bb Signed-off-by: Andrew Ferrazzutti <aferrazz@redhat.com> Reviewed-on: https://git.eclipse.org/r/31139 Tested-by: Hudson CI Reviewed-by: Alexander Kurtakov <akurtako@redhat.com> Tested-by: Alexander Kurtakov <akurtako@redhat.com>
Diffstat (limited to 'systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures')
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/ProbeParser.java2
-rw-r--r--systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/TapsetParser.java7
2 files changed, 7 insertions, 2 deletions
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/ProbeParser.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/ProbeParser.java
index d2ab9fc06f..3bf8c17681 100644
--- a/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/ProbeParser.java
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/ProbeParser.java
@@ -141,7 +141,7 @@ public final class ProbeParser extends TreeTapsetParser {
TreeNode groupNode = null;
while (st.hasNextLine()) {
if (monitor.isCanceled()) {
- canceled = false;
+ canceled = true;
break;
}
String tokenString = st.nextLine();
diff --git a/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/TapsetParser.java b/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/TapsetParser.java
index efdfb9a31b..29574fab3c 100644
--- a/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/TapsetParser.java
+++ b/systemtap/org.eclipse.linuxtools.systemtap.ui.ide/src/org/eclipse/linuxtools/internal/systemtap/ui/ide/structures/TapsetParser.java
@@ -63,7 +63,10 @@ public abstract class TapsetParser extends Job {
@Override
protected void canceling() {
- getThread().interrupt();
+ Thread thread = getThread();
+ if (thread != null) {
+ thread.interrupt();
+ }
}
/**
@@ -202,6 +205,8 @@ public abstract class TapsetParser extends Job {
port, EnvironmentVariablesPreferencePage.getEnvironmentVariables());
if (channel == null) {
displayError(Messages.TapsetParser_CannotRunStapTitle, Messages.TapsetParser_CannotRunStapMessage);
+ } else {
+ channel.getSession().disconnect();
}
return (!getErrors ? str : strErr).toString();

Back to the top