Add concurrency check to rpc mining to ensure not too many threads. number of cores times 4 or 257.
This commit is contained in:
parent
4629ead8c5
commit
cc1462e0b7
1 changed files with 17 additions and 0 deletions
|
@ -616,6 +616,23 @@ namespace cryptonote
|
|||
return true;
|
||||
}
|
||||
|
||||
unsigned int concurrency_count = boost::thread::hardware_concurrency() * 4;
|
||||
|
||||
// if we couldn't detect threads, set it to a ridiculously high number
|
||||
if(concurrency_count == 0)
|
||||
{
|
||||
concurrency_count = 257;
|
||||
}
|
||||
|
||||
// if there are more threads requested than the hardware supports
|
||||
// then we fail and log that.
|
||||
if(req.threads_count > concurrency_count)
|
||||
{
|
||||
res.status = "Failed, too many threads relative to CPU cores.";
|
||||
LOG_PRINT_L0(res.status);
|
||||
return true;
|
||||
}
|
||||
|
||||
boost::thread::attributes attrs;
|
||||
attrs.set_stack_size(THREAD_STACK_SIZE);
|
||||
|
||||
|
|
Loading…
Reference in a new issue