diff options
author | Yordan Karadzhov (VMware) <y.karadz@gmail.com> | 2019-07-09 18:56:46 +0300 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-07-09 21:08:50 -0400 |
commit | 8d0c09ef1fe21277ad6c71d0603fd4a5c7e6c121 (patch) | |
tree | 3e69e0a14c8db5273bb6683364aeb801cb725e5b | |
parent | c403e29c06341e8f6f5e37c90dae3a935ab4fadc (diff) | |
download | trace-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.cpp | 10 | ||||
-rw-r--r-- | kernel-shark/src/KsCaptureDialog.hpp | 2 |
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; |