From 89d4073d0a6545330af16bb8b2352881b6f55cf5 Mon Sep 17 00:00:00 2001 From: svost Date: Wed, 6 Apr 2016 13:15:58 +0300 Subject: [PATCH] From boost(std)::thread::hardware_concurrency description: if this value is not computable or well defined, the function returns 0. --- src/kernel.cpp | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/kernel.cpp b/src/kernel.cpp index c8dc551..b18ae2b 100644 --- a/src/kernel.cpp +++ b/src/kernel.cpp @@ -435,9 +435,13 @@ bool ScanKernelForward(unsigned char *kernel, uint32_t nBits, uint32_t nInputTxT // TODO: custom threads amount uint32_t nThreads = boost::thread::hardware_concurrency(); + if (nThreads == 0) + { + nThreads = 1; + printf("Warning: hardware_concurrency() failed in %s:%d\n", __FILE__, __LINE__); + } uint32_t nPart = (SearchInterval.second - SearchInterval.first) / nThreads; - KernelWorker *workers = new KernelWorker[nThreads]; boost::thread_group group; -- 1.7.1