aboutsummaryrefslogtreecommitdiff
path: root/src/daemon
diff options
context:
space:
mode:
authorxiphon <xiphon@protonmail.com>2020-02-04 23:27:48 +0000
committerxiphon <xiphon@protonmail.com>2020-02-04 23:27:48 +0000
commit0629f0615636458b97a0b526014b129b143e99dc (patch)
treef6cea7b3263bc0db6b32f80a5ae66ded3b36b66e /src/daemon
parent6de8547047d5801181b61cbbc707a44a4ee5e77b (diff)
downloadmonzero-gui-0629f0615636458b97a0b526014b129b143e99dc.tar.gz
monzero-gui-0629f0615636458b97a0b526014b129b143e99dc.tar.xz
monzero-gui-0629f0615636458b97a0b526014b129b143e99dc.zip
DaemonManager: check monerod binary, error details on start failure
Diffstat (limited to 'src/daemon')
-rw-r--r--src/daemon/DaemonManager.cpp10
-rw-r--r--src/daemon/DaemonManager.h2
2 files changed, 9 insertions, 3 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index 74da6351..8d995458 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -63,6 +63,12 @@ DaemonManager *DaemonManager::instance(const QStringList *args)
bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const QString &dataDir, const QString &bootstrapNodeAddress, bool noSync /* = false*/)
{
+ if (!QFileInfo(m_monerod).isFile())
+ {
+ emit daemonStartFailure("\"" + QDir::toNativeSeparators(m_monerod) + "\" " + tr("executable is missing"));
+ return false;
+ }
+
// prepare command line arguments and pass to monerod
QStringList arguments;
@@ -130,7 +136,7 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const
if (!started) {
qDebug() << "Daemon start error: " + m_daemon->errorString();
- emit daemonStartFailure();
+ emit daemonStartFailure(m_daemon->errorString());
return false;
}
@@ -140,7 +146,7 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const
emit daemonStarted();
m_noSync = noSync;
} else {
- emit daemonStartFailure();
+ emit daemonStartFailure(tr("Timed out, local node is not responding after %1 seconds").arg(DAEMON_START_TIMEOUT_SECONDS));
}
});
diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h
index a03d3d9b..4bbd3133 100644
--- a/src/daemon/DaemonManager.h
+++ b/src/daemon/DaemonManager.h
@@ -64,7 +64,7 @@ private:
signals:
void daemonStarted() const;
void daemonStopped() const;
- void daemonStartFailure() const;
+ void daemonStartFailure(const QString &error) const;
void daemonConsoleUpdated(QString message) const;
public slots: