diff --git a/src/p2pool.cpp b/src/p2pool.cpp index fe15678..6e272f2 100644 --- a/src/p2pool.cpp +++ b/src/p2pool.cpp @@ -2159,7 +2159,12 @@ int p2pool::run() bkg_jobs_tracker->wait(); #ifdef WITH_RANDOMX - delete m_miner; + { + MutexLock lock(m_minerLock); + + delete m_miner; + m_miner = nullptr; + } #endif delete m_stratumServer; delete m_p2pServer; diff --git a/src/zmq_reader.cpp b/src/zmq_reader.cpp index 736d1da..97b8dc0 100644 --- a/src/zmq_reader.cpp +++ b/src/zmq_reader.cpp @@ -171,7 +171,12 @@ void ZMQReader::run() } ON_SCOPE_LEAVE([this]() { - m_monitor->abort(); + try { + m_monitor->abort(); + } + catch(...) { + LOGERR(1, "m_monitor->abort() failed"); + } uv_thread_join(&m_monitorThread); });