aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/daemon/DaemonManager.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index 8dd31157..237ac545 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -117,8 +117,17 @@ bool DaemonManager::start(const QString &flags, NetworkType::Type nettype, const
connect(m_daemon.get(), SIGNAL(readyReadStandardOutput()), this, SLOT(printOutput()));
connect(m_daemon.get(), SIGNAL(readyReadStandardError()), this, SLOT(printError()));
- // Start monerod
- bool started = m_daemon->startDetached(m_monerod, arguments);
+#if defined(Q_OS_MAC) && defined(__aarch64__)
+ // RandomX crashes with JIT enabled when started as a detached process, disable it for now
+ QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+ env.insert("MONERO_RANDOMX_UMASK", "8");
+ m_daemon->setProcessEnvironment(env);
+#endif
+
+ m_daemon->setProgram(m_monerod);
+ m_daemon->setArguments(arguments);
+ bool started = m_daemon->startDetached();
+
// add state changed listener
connect(m_daemon.get(), SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(stateChanged(QProcess::ProcessState)));