mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-19 11:20:45 +00:00
miner: avoid unnecessary work after payload resolution
This commit is contained in:
parent
db7d3a4e0e
commit
30dd3dde58
1 changed files with 7 additions and 0 deletions
|
|
@ -260,6 +260,13 @@ func (miner *Miner) buildPayload(args *BuildPayloadArgs, witness bool) (*Payload
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-timer.C:
|
case <-timer.C:
|
||||||
|
// Select is random, so we need to check if the payload has been stopped
|
||||||
|
select {
|
||||||
|
case <-payload.stop:
|
||||||
|
log.Info("Stopping work on payload", "id", payload.id, "reason", "delivery")
|
||||||
|
return
|
||||||
|
default:
|
||||||
|
}
|
||||||
start := time.Now()
|
start := time.Now()
|
||||||
r := miner.generateWork(fullParams, witness)
|
r := miner.generateWork(fullParams, witness)
|
||||||
if r.err == nil {
|
if r.err == nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue