aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYordan Karadzhov (VMware) <y.karadz@gmail.com>2019-07-09 18:56:46 +0300
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2019-07-09 21:08:50 -0400
commit8d0c09ef1fe21277ad6c71d0603fd4a5c7e6c121 (patch)
tree3e69e0a14c8db5273bb6683364aeb801cb725e5b
parentc403e29c06341e8f6f5e37c90dae3a935ab4fadc (diff)
downloadtrace-cmd-8d0c09ef1fe21277ad6c71d0603fd4a5c7e6c121.tar.gz
kernel-shark: Don't try to open data file if recording failed
In the case when the recording process failed, the Capture dialog should not send a signal to the KernelShark GUI to open a new tracing data file. Link: http://lore.kernel.org/linux-trace-devel/20190709155650.2345-5-y.karadz@gmail.com Suggested-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com> Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-rw-r--r--kernel-shark/src/KsCaptureDialog.cpp10
-rw-r--r--kernel-shark/src/KsCaptureDialog.hpp2
2 files changed, 11 insertions, 1 deletions
diff --git a/kernel-shark/src/KsCaptureDialog.cpp b/kernel-shark/src/KsCaptureDialog.cpp
index d422e99f..07e27e63 100644
--- a/kernel-shark/src/KsCaptureDialog.cpp
+++ b/kernel-shark/src/KsCaptureDialog.cpp
@@ -314,6 +314,7 @@ KsCaptureMonitor::KsCaptureMonitor(QWidget *parent)
: QWidget(parent),
_mergedChannels(false),
_argsModified(false),
+ _captureStatus(false),
_panel(this),
_name("Output display", this),
_space("max size ", this),
@@ -448,6 +449,9 @@ void KsCaptureMonitor::_captureFinished(int exit, QProcess::ExitStatus status)
_consolOutput.appendPlainText(errMessage);
QCoreApplication::processEvents();
+ _captureStatus = false;
+ } else {
+ _captureStatus = true;
}
}
@@ -530,8 +534,12 @@ void KsCaptureDialog::_setChannelMode(int state)
void KsCaptureDialog::_sendOpenReq(const QString &fileName)
{
- QLocalSocket *socket = new QLocalSocket(this);
+ QLocalSocket *socket;
+
+ if (!_captureMon._captureStatus)
+ return;
+ socket = new QLocalSocket(this);
socket->connectToServer("KSCapture", QIODevice::WriteOnly);
if (socket->waitForConnected()) {
QByteArray block;
diff --git a/kernel-shark/src/KsCaptureDialog.hpp b/kernel-shark/src/KsCaptureDialog.hpp
index 22657048..b168a2bc 100644
--- a/kernel-shark/src/KsCaptureDialog.hpp
+++ b/kernel-shark/src/KsCaptureDialog.hpp
@@ -119,6 +119,8 @@ public:
*/
bool _argsModified;
+ bool _captureStatus;
+
private:
QVBoxLayout _layout;