fix(mining): restore the miner after a benchmark only if it was running
Cancelling a thread benchmark always stopped and restarted the pool miner at its pre-benchmark thread count, even when the user had not been mining before the benchmark began. That silently started the miner on a plain cancel or a switch to solo mode. - A cancel now always drops the candidate-thread miner, and restarts the pool miner only when the user was mining before the benchmark, read from a snapshot taken at the start rather than the live running state (the benchmark sweep transiently stops the miner between candidates, so a live check would drop the restore). - Callers that must not restore the miner (leaving solo mode) pass the new restore flag as false. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -22,11 +22,11 @@ void RenderMiningTab(App* app);
|
||||
bool IsMiningBenchmarkActive();
|
||||
|
||||
/**
|
||||
* @brief Cancel a running thread benchmark and restore the miner to its pre-benchmark thread count.
|
||||
* @brief Cancel a running thread benchmark and restore the miner only if it was running before the benchmark.
|
||||
* Safe to call when no benchmark is active (no-op). Used when leaving the Mining tab or switching to
|
||||
* solo mode so the miner isn't left stuck at a benchmark step. (L-04, L-11)
|
||||
*/
|
||||
void CancelMiningBenchmark(App* app);
|
||||
void CancelMiningBenchmark(App* app, bool restoreMiner = true);
|
||||
|
||||
} // namespace ui
|
||||
} // namespace dragonx
|
||||
|
||||
Reference in New Issue
Block a user