server: Correct mempool/CPU miner initialize order.
The CPU miner relies on the mempool, so the mempool has to be created before calling the function to create the CPU miner. When PR #568 introduced the mempool config struct, it moved the mempool creation after the miner creation, which leads to the CPU miner crashing due to trying to access a nil mempool. This move the CPU miner creation after the mempool creation appropriately.
This commit is contained in:
parent
2a7f41cddb
commit
2f6aeacfab
1 changed files with 11 additions and 9 deletions
20
server.go
20
server.go
|
@ -2354,15 +2354,6 @@ func newServer(listenAddrs []string, db database.Db, chainParams *chaincfg.Param
|
||||||
}
|
}
|
||||||
s.blockManager = bm
|
s.blockManager = bm
|
||||||
|
|
||||||
// Create the mining policy based on the configuration options.
|
|
||||||
policy := mining.Policy{
|
|
||||||
BlockMinSize: cfg.BlockMinSize,
|
|
||||||
BlockMaxSize: cfg.BlockMaxSize,
|
|
||||||
BlockPrioritySize: cfg.BlockPrioritySize,
|
|
||||||
TxMinFreeFee: cfg.minRelayTxFee,
|
|
||||||
}
|
|
||||||
s.cpuMiner = newCPUMiner(&policy, &s)
|
|
||||||
|
|
||||||
txC := mempoolConfig{
|
txC := mempoolConfig{
|
||||||
DisableRelayPriority: cfg.NoRelayPriority,
|
DisableRelayPriority: cfg.NoRelayPriority,
|
||||||
EnableAddrIndex: cfg.AddrIndex,
|
EnableAddrIndex: cfg.AddrIndex,
|
||||||
|
@ -2377,6 +2368,17 @@ func newServer(listenAddrs []string, db database.Db, chainParams *chaincfg.Param
|
||||||
}
|
}
|
||||||
s.txMemPool = newTxMemPool(&txC)
|
s.txMemPool = newTxMemPool(&txC)
|
||||||
|
|
||||||
|
// Create the mining policy based on the configuration options.
|
||||||
|
// NOTE: The CPU miner relies on the mempool, so the mempool has to be
|
||||||
|
// created before calling the function to create the CPU miner.
|
||||||
|
policy := mining.Policy{
|
||||||
|
BlockMinSize: cfg.BlockMinSize,
|
||||||
|
BlockMaxSize: cfg.BlockMaxSize,
|
||||||
|
BlockPrioritySize: cfg.BlockPrioritySize,
|
||||||
|
TxMinFreeFee: cfg.minRelayTxFee,
|
||||||
|
}
|
||||||
|
s.cpuMiner = newCPUMiner(&policy, &s)
|
||||||
|
|
||||||
if cfg.AddrIndex {
|
if cfg.AddrIndex {
|
||||||
ai, err := newAddrIndexer(&s)
|
ai, err := newAddrIndexer(&s)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
Loading…
Reference in a new issue