X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=blobdiff_plain;f=src%2Fminer.cpp;fp=src%2Fminer.cpp;h=c03b37d7b17861b957f7d3bed6a458300ec560cd;hp=f12376a409623d0b0bb4bcfeda17dfc6b7c649c2;hb=b551b8a0a3084036528b348622e341bd43ef38e3;hpb=1d8129375a4d646abb5c49075d2b1f065d932680 diff --git a/src/miner.cpp b/src/miner.cpp index f12376a..c03b37d 100644 --- a/src/miner.cpp +++ b/src/miner.cpp @@ -649,7 +649,8 @@ bool ScanMap(const MidstateMap &inputsMap, uint32_t nBits, MidstateMap::key_type return false; } -void StakeMiner(CWallet *pwallet) +// TODO: Get rid of nested loops +void StakeMiner(CWallet* pwallet) { SetThreadPriority(THREAD_PRIORITY_LOWEST); @@ -769,3 +770,24 @@ void StakeMiner(CWallet *pwallet) continue; } } + +// Stake minter thread +void ThreadStakeMinter(void* parg) +{ + printf("ThreadStakeMinter started\n"); + CWallet* pwallet = (CWallet*)parg; + try + { + vnThreadsRunning[THREAD_MINTER]++; + StakeMiner(pwallet); + vnThreadsRunning[THREAD_MINTER]--; + } + catch (std::exception& e) { + vnThreadsRunning[THREAD_MINTER]--; + PrintException(&e, "ThreadStakeMinter()"); + } catch (...) { + vnThreadsRunning[THREAD_MINTER]--; + PrintException(NULL, "ThreadStakeMinter()"); + } + printf("ThreadStakeMinter exiting, %d threads remaining\n", vnThreadsRunning[THREAD_MINTER]); +}