aboutsummaryrefslogtreecommitdiff
path: root/miner
diff options
context:
space:
mode:
authorAaron Buchwald <[email protected]>2020-12-11 15:49:00 -0500
committerAaron Buchwald <[email protected]>2020-12-11 15:49:00 -0500
commit0dd94e2a926b929c371d06c463f917a2c70d427d (patch)
tree0868fa18cbeafc342ec2b334e823419421f0c91c /miner
parentf79cb6c5079f5e3edf7a4b15657203c197fef7d2 (diff)
Improve miner handling of asynchronous block production
Diffstat (limited to 'miner')
-rw-r--r--miner/worker.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/miner/worker.go b/miner/worker.go
index 72597b0..2b44691 100644
--- a/miner/worker.go
+++ b/miner/worker.go
@@ -913,12 +913,15 @@ func (w *worker) commitNewWork(interrupt *int32, noempty bool, timestamp int64)
//timestamp = int64(parent.Time() + 1)
timestamp = int64(parent.Time())
}
- // this will ensure we're not going off too far in the future
- if now := time.Now().Unix(); timestamp > now+1 {
- wait := time.Duration(timestamp-now) * time.Second
- log.Info("Mining too far in the future", "wait", common.PrettyDuration(wait))
- time.Sleep(wait)
- }
+ // This block has been removed to prevent BuildBlock
+ // from blocking until this chain advances to timestamp
+ // This prevents a block issued up to 30s in the future
+ // from causing an unnecessary sleep
+ // if now := time.Now().Unix(); timestamp > now+1 {
+ // wait := time.Duration(timestamp-now) * time.Second
+ // log.Info("Mining too far in the future", "wait", common.PrettyDuration(wait))
+ // time.Sleep(wait)
+ // }
num := parent.Number()
header := &types.Header{