aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/chainparams.cpp2
-rw-r--r--src/chainparams.h3
-rw-r--r--src/miner.cpp5
3 files changed, 8 insertions, 2 deletions
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
index d7205fa5cb..64723978bb 100644
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -112,6 +112,7 @@ public:
nRPCPort = 8332;
bnProofOfWorkLimit = ~uint256(0) >> 32;
nSubsidyHalvingInterval = 210000;
+ nMinerThreads = 0;
// Build the genesis block. Note that the output of the genesis coinbase cannot
// be spent as it did not originally exist in the database.
@@ -233,6 +234,7 @@ public:
pchMessageStart[2] = 0xb5;
pchMessageStart[3] = 0xda;
nSubsidyHalvingInterval = 150;
+ nMinerThreads = 1;
bnProofOfWorkLimit = ~uint256(0) >> 1;
genesis.nTime = 1296688602;
genesis.nBits = 0x207fffff;
diff --git a/src/chainparams.h b/src/chainparams.h
index d76b1a2280..f331d956fe 100644
--- a/src/chainparams.h
+++ b/src/chainparams.h
@@ -57,6 +57,8 @@ public:
int GetDefaultPort() const { return nDefaultPort; }
const uint256& ProofOfWorkLimit() const { return bnProofOfWorkLimit; }
int SubsidyHalvingInterval() const { return nSubsidyHalvingInterval; }
+ /* Used if GenerateBitcoins is called with a negative number of threads */
+ int DefaultMinerThreads() const { return nMinerThreads; }
virtual const CBlock& GenesisBlock() const = 0;
virtual bool RequireRPCPassword() const { return true; }
/* Make miner wait to have peers to avoid wasting work */
@@ -82,6 +84,7 @@ protected:
uint256 bnProofOfWorkLimit;
int nSubsidyHalvingInterval;
string strDataDir;
+ int nMinerThreads;
vector<CDNSSeedData> vSeeds;
std::vector<unsigned char> base58Prefixes[MAX_BASE58_TYPES];
};
diff --git a/src/miner.cpp b/src/miner.cpp
index e980fdc42d..44c2faaa4c 100644
--- a/src/miner.cpp
+++ b/src/miner.cpp
@@ -652,8 +652,9 @@ void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads)
static boost::thread_group* minerThreads = NULL;
if (nThreads < 0) {
- if (Params().NetworkID() == CChainParams::REGTEST)
- nThreads = 1;
+ // In regtest threads defaults to 1
+ if (Params().DefaultMinerThreads())
+ nThreads = Params().DefaultMinerThreads();
else
nThreads = boost::thread::hardware_concurrency();
}