Move stake mining function wrapper definition to miner.cpp. Also, init NTP thread...
[novacoin.git] / src / miner.cpp
index f12376a..c03b37d 100644 (file)
@@ -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]);
+}