Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/perf
diff options
context:
space:
mode:
Diffstat (limited to 'perf')
-rw-r--r--perf/org.eclipse.linuxtools.perf.tests/src/org/eclipse/linuxtools/internal/perf/tests/DataManipulatorTest.java2
-rw-r--r--perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/SourceDisassemblyData.java8
2 files changed, 7 insertions, 3 deletions
diff --git a/perf/org.eclipse.linuxtools.perf.tests/src/org/eclipse/linuxtools/internal/perf/tests/DataManipulatorTest.java b/perf/org.eclipse.linuxtools.perf.tests/src/org/eclipse/linuxtools/internal/perf/tests/DataManipulatorTest.java
index d282d3c674..9f6d7b846e 100644
--- a/perf/org.eclipse.linuxtools.perf.tests/src/org/eclipse/linuxtools/internal/perf/tests/DataManipulatorTest.java
+++ b/perf/org.eclipse.linuxtools.perf.tests/src/org/eclipse/linuxtools/internal/perf/tests/DataManipulatorTest.java
@@ -38,7 +38,7 @@ public class DataManipulatorTest {
"disassembly data", path); //$NON-NLS-1$
sdData.parse();
- String expected = "perf annotate -i " + path.toOSString() + "perf.data"; //$NON-NLS-1$
+ String expected = "sh -c perf annotate -i " + path.toOSString() + "perf.data < /dev/null"; //$NON-NLS-1$
assertEquals(expected, sdData.getPerfData().trim());
}
diff --git a/perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/SourceDisassemblyData.java b/perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/SourceDisassemblyData.java
index e63da557c1..1d3109def3 100644
--- a/perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/SourceDisassemblyData.java
+++ b/perf/org.eclipse.linuxtools.perf/src/org/eclipse/linuxtools/internal/perf/SourceDisassemblyData.java
@@ -46,8 +46,12 @@ public class SourceDisassemblyData extends AbstractDataManipulator {
}
protected String [] getCommand(String workingDir) {
- return new String[] { "perf", "annotate", //$NON-NLS-1$ //$NON-NLS-2$
- "-i", workingDir + "perf.data" }; //$NON-NLS-1$ //$NON-NLS-2$
+ /*
+ * Some versions of perf annotate hangs waiting for some input that never comes.
+ * Redirecting an empty file or /dev/null to its input will avoid this.
+ */
+ return new String[] { "sh", "-c", "perf annotate -i " + workingDir + "perf.data" + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ " < /dev/null" }; //$NON-NLS-1$
}
} \ No newline at end of file

Back to the top