Browse Source

Remove obsolete Win32 AffinityBugWorkaround()

Reference miner exists for testnet-in-a-box type situations, and as a
reference.  We don't care enough about highly optimized internal
mining to keep workarounds like this.
0.8
Jeff Garzik 13 years ago committed by Jeff Garzik
parent
commit
460b66b14b
  1. 2
      src/main.cpp
  2. 20
      src/util.h

2
src/main.cpp

@ -3361,8 +3361,6 @@ void static BitcoinMiner(CWallet *pwallet)
while (fGenerateBitcoins) while (fGenerateBitcoins)
{ {
if (AffinityBugWorkaround(ThreadBitcoinMiner))
return;
if (fShutdown) if (fShutdown)
return; return;
while (vNodes.empty() || IsInitialBlockDownload()) while (vNodes.empty() || IsInitialBlockDownload())

20
src/util.h

@ -706,26 +706,6 @@ inline void ExitThread(size_t nExitCode)
inline bool AffinityBugWorkaround(void(*pfn)(void*))
{
#ifdef WIN32
// Sometimes after a few hours affinity gets stuck on one processor
DWORD_PTR dwProcessAffinityMask = -1;
DWORD_PTR dwSystemAffinityMask = -1;
GetProcessAffinityMask(GetCurrentProcess(), &dwProcessAffinityMask, &dwSystemAffinityMask);
DWORD dwPrev1 = SetThreadAffinityMask(GetCurrentThread(), dwProcessAffinityMask);
DWORD dwPrev2 = SetThreadAffinityMask(GetCurrentThread(), dwProcessAffinityMask);
if (dwPrev2 != dwProcessAffinityMask)
{
printf("AffinityBugWorkaround() : SetThreadAffinityMask=%d, ProcessAffinityMask=%d, restarting thread\n", dwPrev2, dwProcessAffinityMask);
if (!CreateThread(pfn, NULL))
printf("Error: CreateThread() failed\n");
return true;
}
#endif
return false;
}
inline uint32_t ByteReverse(uint32_t value) inline uint32_t ByteReverse(uint32_t value)
{ {
value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8); value = ((value & 0xFF00FF00) >> 8) | ((value & 0x00FF00FF) << 8);

Loading…
Cancel
Save