forked from qt-creator/qt-creator
CoreUnpacker: Connect to QtcProcess::done() signal
Instead of connecting to finished() signal. Implement some error handling. Fix reporting a stop, instead of start, on stop. Change-Id: I6c528204416d8c5ba715875dd3bf5172007d9477 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -132,7 +132,13 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_coreUnpackProcess.setWorkingDirectory(TemporaryDirectory::masterDirectoryFilePath());
|
m_coreUnpackProcess.setWorkingDirectory(TemporaryDirectory::masterDirectoryFilePath());
|
||||||
connect(&m_coreUnpackProcess, &QtcProcess::finished, this, &CoreUnpacker::reportStarted);
|
connect(&m_coreUnpackProcess, &QtcProcess::done, this, [this] {
|
||||||
|
if (m_coreUnpackProcess.error() == QProcess::UnknownError) {
|
||||||
|
reportStopped();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
reportFailure("Error unpacking " + m_coreFilePath.toUserOutput());
|
||||||
|
});
|
||||||
|
|
||||||
const QString msg = DebuggerRunTool::tr("Unpacking core file to %1");
|
const QString msg = DebuggerRunTool::tr("Unpacking core file to %1");
|
||||||
appendMessage(msg.arg(m_tempCoreFilePath.toUserOutput()), LogMessageFormat);
|
appendMessage(msg.arg(m_tempCoreFilePath.toUserOutput()), LogMessageFormat);
|
||||||
@@ -140,6 +146,7 @@ private:
|
|||||||
if (m_coreFilePath.endsWith(".lzo")) {
|
if (m_coreFilePath.endsWith(".lzo")) {
|
||||||
m_coreUnpackProcess.setCommand({"lzop", {"-o", m_tempCoreFilePath.path(),
|
m_coreUnpackProcess.setCommand({"lzop", {"-o", m_tempCoreFilePath.path(),
|
||||||
"-x", m_coreFilePath.path()}});
|
"-x", m_coreFilePath.path()}});
|
||||||
|
reportStarted();
|
||||||
m_coreUnpackProcess.start();
|
m_coreUnpackProcess.start();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -152,6 +159,7 @@ private:
|
|||||||
m_tempCoreFile.write(m_coreUnpackProcess.readAllStandardOutput());
|
m_tempCoreFile.write(m_coreUnpackProcess.readAllStandardOutput());
|
||||||
});
|
});
|
||||||
m_coreUnpackProcess.setCommand({"gzip", {"-c", "-d", m_coreFilePath.path()}});
|
m_coreUnpackProcess.setCommand({"gzip", {"-c", "-d", m_coreFilePath.path()}});
|
||||||
|
reportStarted();
|
||||||
m_coreUnpackProcess.start();
|
m_coreUnpackProcess.start();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user