Browse Source

#49 Capture embedded zcashd errors

import_zecw
Aditya Kulkarni 6 years ago
parent
commit
7939acd2ea
  1. 13
      src/connection.cpp

13
src/connection.cpp

@ -221,9 +221,16 @@ bool ConnectionLoader::startEmbeddedZcashd() {
if (!Settings::getInstance()->useEmbedded())
return false;
// Static because it needs to survice even after this method returns.
static QString processStdErrOutput;
if (ezcashd != nullptr) {
if (ezcashd->state() == QProcess::NotRunning) {
qDebug() << "Process started and then crashed";
if (!processStdErrOutput.isEmpty()) {
QMessageBox::critical(main, "zcashd error", "zcashd said: " + processStdErrOutput,
QMessageBox::Ok);
}
return false;
} else {
return true;
@ -262,6 +269,12 @@ bool ConnectionLoader::startEmbeddedZcashd() {
//qDebug() << "Couldn't start zcashd: " << error;
});
QObject::connect(ezcashd, &QProcess::readyReadStandardError, [=]() {
auto output = ezcashd->readAllStandardError();
qDebug() << "zcashd stderr:" << output;
processStdErrOutput.append(output);
});
#ifdef Q_OS_LINUX
ezcashd->start(zcashdProgram);
#elif defined(Q_OS_DARWIN)

Loading…
Cancel
Save