Forráskód Böngészése

Merge pull request #14407 from karalabe/ethash-generation-race

consensus/ethash: fix a timestamp update race
Péter Szilágyi 8 éve
szülő
commit
59966255ad
1 módosított fájl, 4 hozzáadás és 2 törlés
  1. 4 2
      consensus/ethash/ethash.go

+ 4 - 2
consensus/ethash/ethash.go

@@ -467,8 +467,9 @@ func (ethash *Ethash) cache(block uint64) []uint32 {
 			future = &cache{epoch: epoch + 1}
 			ethash.fcache = future
 		}
+		// New current cache, set its initial timestamp
+		current.used = time.Now()
 	}
-	current.used = time.Now()
 	ethash.lock.Unlock()
 
 	// Wait for generation finish, bump the timestamp and finalize the cache
@@ -529,8 +530,9 @@ func (ethash *Ethash) dataset(block uint64) []uint32 {
 			future = &dataset{epoch: epoch + 1}
 			ethash.fdataset = future
 		}
+		// New current dataset, set its initial timestamp
+		current.used = time.Now()
 	}
-	current.used = time.Now()
 	ethash.lock.Unlock()
 
 	// Wait for generation finish, bump the timestamp and finalize the cache