Skip to content

Commit d62633b

Browse files
committed
staticaddr: deposit recover within a wait group
1 parent 6f3c18b commit d62633b

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

staticaddr/deposit/manager.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,10 @@ func (m *Manager) recoverDeposits(ctx context.Context) error {
177177
return err
178178
}
179179

180+
var (
181+
wg sync.WaitGroup
182+
numRecoveredDeposits int
183+
)
180184
for i, d := range deposits {
181185
m.deposits[d.OutPoint] = deposits[i]
182186

@@ -196,7 +200,9 @@ func (m *Manager) recoverDeposits(ctx context.Context) error {
196200
}
197201

198202
// Send the OnRecover event to the state machine.
203+
wg.Add(1)
199204
go func(fsm *FSM) {
205+
defer wg.Done()
200206
err := fsm.SendEvent(ctx, OnRecover, nil)
201207
if err != nil {
202208
log.Errorf("Error sending OnStart event: %v",
@@ -207,7 +213,13 @@ func (m *Manager) recoverDeposits(ctx context.Context) error {
207213
m.mu.Lock()
208214
m.activeDeposits[d.OutPoint] = fsm
209215
m.mu.Unlock()
216+
217+
numRecoveredDeposits++
210218
}
219+
wg.Wait()
220+
221+
log.Infof("Recovered %d deposits from the database",
222+
numRecoveredDeposits)
211223

212224
return nil
213225
}

0 commit comments

Comments
 (0)