diff --git a/src/p2pool.cpp b/src/p2pool.cpp index 803cdff..120e32a 100644 --- a/src/p2pool.cpp +++ b/src/p2pool.cpp @@ -190,7 +190,6 @@ p2pool::~p2pool() delete m_blockTemplate; delete m_mempool; delete m_params; - delete m_consoleCommands; } bool p2pool::calculate_hash(const void* data, size_t size, uint64_t height, const hash& seed, hash& result) @@ -471,6 +470,8 @@ void p2pool::on_stop(uv_async_t* async) { p2pool* pool = reinterpret_cast(async->data); + delete pool->m_consoleCommands; + if (pool->m_api) { pool->m_api->on_stop(); } diff --git a/src/tcp_server.h b/src/tcp_server.h index b0673d3..eed044b 100644 --- a/src/tcp_server.h +++ b/src/tcp_server.h @@ -36,7 +36,7 @@ public: bool connect_to_peer(bool is_v6, const char* ip, int port); - void drop_connections_async() { uv_async_send(&m_dropConnectionsAsync); } + void drop_connections_async() { if (m_finished.load() == 0) { uv_async_send(&m_dropConnectionsAsync); } } void shutdown_tcp(); virtual void print_status();