From 963ce1e444bcb9d8a4ab43179c2a70c251f07193 Mon Sep 17 00:00:00 2001 From: Duke Date: Tue, 10 Oct 2023 22:04:15 -0400 Subject: [PATCH] Release randomx dataset+cache when mining is interrupted or errors --- src/miner.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/miner.cpp b/src/miner.cpp index 01b907e80..b1a4b917f 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -1424,12 +1424,24 @@ void static RandomXMiner() } catch (const boost::thread_interrupted&) { miningTimer.stop(); c.disconnect(); + + randomx_release_dataset(randomxDataset); + rxdebug("%s: released dataset\n"); + randomx_release_cache(randomxCache); + rxdebug("%s: released cache\n"); + LogPrintf("HushRandomXMiner terminated\n"); throw; } catch (const std::runtime_error &e) { miningTimer.stop(); c.disconnect(); fprintf(stderr,"RandomXMiner: runtime error: %s\n", e.what()); + + randomx_release_dataset(randomxDataset); + rxdebug("%s: released dataset\n"); + randomx_release_cache(randomxCache); + rxdebug("%s: released cache\n"); + return; }