Skip to content

Commit b9f33e2

Browse files
committed
use time.After instead of sleep, incase of goroutine leak
Signed-off-by: jsvisa <[email protected]>
1 parent e993ff3 commit b9f33e2

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

core/state/statesize.go

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -155,18 +155,19 @@ func (g *StateSizeGenerator) initialize() chan struct{} {
155155
LOOP:
156156
// Wait for snapshot generator to complete first
157157
for {
158+
root, done := g.triedb.SnapshotCompleted()
159+
if done {
160+
g.metrics.Root = root
161+
g.buffered.Root = root
162+
break LOOP
163+
}
164+
158165
select {
159166
case <-g.abort:
160167
log.Info("State size initialization aborted during snapshot wait")
161168
return
162-
default:
163-
root, done := g.triedb.SnapshotCompleted()
164-
if done {
165-
g.metrics.Root = root
166-
g.buffered.Root = root
167-
break LOOP
168-
}
169-
time.Sleep(10 * time.Second)
169+
case <-time.After(10 * time.Second):
170+
// Continue checking for snapshot completion
170171
}
171172
}
172173

0 commit comments

Comments
 (0)