core/state/snapshot: avoid waiting on exited generator in Disable

This commit is contained in:
Martin Holst Swende 2024-02-13 09:01:08 +01:00 committed by Felix Lange
parent 368eaa8e50
commit d91f53c9eb

View file

@ -258,6 +258,14 @@ func (t *Tree) Disable() {
for _, layer := range t.layers {
switch layer := layer.(type) {
case *diskLayer:
layer.lock.RLock()
generating := layer.genMarker != nil
layer.lock.RUnlock()
if !generating {
// Generator is already aborted or finished
break
}
// If the base layer is generating, abort it
if layer.genAbort != nil {
abort := make(chan *generatorStats)